diff --git a/src/components/Form/src/components/FormItem.vue b/src/components/Form/src/components/FormItem.vue index 004fc2911..efff3fa59 100644 --- a/src/components/Form/src/components/FormItem.vue +++ b/src/components/Form/src/components/FormItem.vue @@ -280,12 +280,14 @@ const on = { [eventKey]: (...args: Nullable>[]) => { const [e] = args; - if (propsData[eventKey]) { - propsData[eventKey](...args); - } + const target = e ? e.target : null; const value = target ? (isCheck ? target.checked : target.value) : e; props.setFormModel(field, value, props.schema); + + if (propsData[eventKey]) { + propsData[eventKey](...args); + } }, }; const Comp = componentMap.get(component) as ReturnType; @@ -385,8 +387,8 @@ return slot ? getSlot(slots, slot, unref(getValues), opts) : render - ? render(unref(getValues), opts) - : renderComponent(); + ? render(unref(getValues), opts) + : renderComponent(); }; const showSuffix = !!suffix; @@ -437,8 +439,8 @@ return colSlot ? getSlot(slots, colSlot, values, opts) : renderColContent - ? renderColContent(values, opts) - : renderItem(); + ? renderColContent(values, opts) + : renderItem(); }; return (