diff --git a/src/components/Form/src/BasicForm.vue b/src/components/Form/src/BasicForm.vue index 9128c8d6acad04b580a3dc6699f5fb89628fb6b1..9440ab56387d8d394f0851e9f35306b26e1bc3fe 100644 --- a/src/components/Form/src/BasicForm.vue +++ b/src/components/Form/src/BasicForm.vue @@ -53,8 +53,8 @@ const formModel = reactive({}); const actionState = reactive({ - resetAction: {}, - submitAction: {}, + resetAction: () => {}, + submitAction: () => {}, }); const advanceState = reactive({ diff --git a/src/components/Form/src/FormItem.tsx b/src/components/Form/src/FormItem.tsx index 680fe14a4b92c9496c240a3921649664b9db7e51..ad6bfc32db7cdfd31d6856b8d95933b77e08daf7 100644 --- a/src/components/Form/src/FormItem.tsx +++ b/src/components/Form/src/FormItem.tsx @@ -150,7 +150,11 @@ export default defineComponent({ function handleValue(component: ComponentType, field: string) { const val = (props.formModel as any)[field]; if (['Input', 'InputPassword', 'InputSearch', 'InputTextArea'].includes(component)) { - return isNumber(val) && val ? `${val}` : val; + if (val && isNumber(val)) { + (props.formModel as any)[field] = `${val}`; + return `${val}`; + } + return val; } return val; } diff --git a/src/components/Form/src/hooks/useFormAction.ts b/src/components/Form/src/hooks/useFormAction.ts index 2a8ce0cb33b3906c87630431124a1717d5c6c5a8..a3072f93a5ad689002d4c64a2482777f71b4d513 100644 --- a/src/components/Form/src/hooks/useFormAction.ts +++ b/src/components/Form/src/hooks/useFormAction.ts @@ -43,7 +43,7 @@ export function useFormAction({ Object.keys(formModel).forEach((key) => { (formModel as any)[key] = defaultValueRef.value[key]; }); - formEl.clearValidate(); + clearValidate(); emit('reset', toRaw(formModel)); // return values; submitOnReset && handleSubmit(); @@ -187,7 +187,7 @@ export function useFormAction({ return formElRef.value.validate(nameList); } - function clearValidate(name: string | string[]) { + function clearValidate(name?: string | string[]) { if (!formElRef.value) return; formElRef.value.clearValidate(name); } @@ -205,7 +205,7 @@ export function useFormAction({ const formEl = unref(formElRef); if (!formEl) return; try { - const values = await formEl.validate(); + const values = await validate(); const res = handleFormValues(values); emit('submit', res); } catch (error) {}