chore: form reset logic modification

This commit is contained in:
vben
2020-10-23 23:45:21 +08:00
parent e034d1bacc
commit c7cfeb5456
5 changed files with 40 additions and 25 deletions

View File

@@ -194,7 +194,7 @@
model: formModel,
field: schema.field,
values: {
...unerf(defaultValueRef),
...unref(defaultValueRef),
...formModel,
},
});
@@ -271,11 +271,11 @@
const formEl = unref(formElRef);
if (!formEl) return;
Object.keys(formModel).forEach((key) => {
(formModel as any)[key] = undefined;
(formModel as any)[key] = defaultValueRef.value[key];
});
const values = formEl.resetFields();
// const values = formEl.resetFields();
emit('reset', toRaw(formModel));
return values;
// return values;
}
/**

View File

@@ -139,6 +139,7 @@ export default defineComponent({
}
return rules;
}
function renderComponent() {
const {
componentProps,
@@ -163,7 +164,6 @@ export default defineComponent({
}
},
};
const Comp = componentMap.get(component);
const { autoSetPlaceHolder, size } = props.formProps;
@@ -189,9 +189,22 @@ export default defineComponent({
const bindValue = {
[isCheck ? 'checked' : 'value']: (props.formModel as any)[field],
};
// TODO先兼容antd的警告后面官方修复后删除
if (component === 'Select') {
if (Reflect.has(propsData, 'options')) {
propsData.options = propsData.options.map((item: any) => {
return {
key: item.value,
...item,
};
});
}
}
if (!renderComponentContent) {
return <Comp {...propsData} {...on} {...bindValue} />;
}
return (
<Comp {...propsData} {...on} {...bindValue}>
{{