fix: fix form submit error

This commit is contained in:
vben 2020-11-05 22:32:39 +08:00
parent 1db72c8fe1
commit 94bf854dd9
3 changed files with 10 additions and 6 deletions

View File

@ -53,8 +53,8 @@
const formModel = reactive({}); const formModel = reactive({});
const actionState = reactive({ const actionState = reactive({
resetAction: {}, resetAction: () => {},
submitAction: {}, submitAction: () => {},
}); });
const advanceState = reactive<AdvanceState>({ const advanceState = reactive<AdvanceState>({

View File

@ -150,7 +150,11 @@ export default defineComponent({
function handleValue(component: ComponentType, field: string) { function handleValue(component: ComponentType, field: string) {
const val = (props.formModel as any)[field]; const val = (props.formModel as any)[field];
if (['Input', 'InputPassword', 'InputSearch', 'InputTextArea'].includes(component)) { 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; return val;
} }

View File

@ -43,7 +43,7 @@ export function useFormAction({
Object.keys(formModel).forEach((key) => { Object.keys(formModel).forEach((key) => {
(formModel as any)[key] = defaultValueRef.value[key]; (formModel as any)[key] = defaultValueRef.value[key];
}); });
formEl.clearValidate(); clearValidate();
emit('reset', toRaw(formModel)); emit('reset', toRaw(formModel));
// return values; // return values;
submitOnReset && handleSubmit(); submitOnReset && handleSubmit();
@ -187,7 +187,7 @@ export function useFormAction({
return formElRef.value.validate(nameList); return formElRef.value.validate(nameList);
} }
function clearValidate(name: string | string[]) { function clearValidate(name?: string | string[]) {
if (!formElRef.value) return; if (!formElRef.value) return;
formElRef.value.clearValidate(name); formElRef.value.clearValidate(name);
} }
@ -205,7 +205,7 @@ export function useFormAction({
const formEl = unref(formElRef); const formEl = unref(formElRef);
if (!formEl) return; if (!formEl) return;
try { try {
const values = await formEl.validate(); const values = await validate();
const res = handleFormValues(values); const res = handleFormValues(values);
emit('submit', res); emit('submit', res);
} catch (error) {} } catch (error) {}