perf: 优化赋值

This commit is contained in:
dap 2024-09-25 14:21:07 +08:00
parent 1b441ff2de
commit 27e976c40d

View File

@ -38,11 +38,6 @@ const [BasicForm, formApi] = useVbenForm({
wrapperClass: 'grid-cols-2', wrapperClass: 'grid-cols-2',
}); });
interface DrawerProps {
update: boolean;
id?: number | string;
}
/** /**
* 生成角色的自定义label * 生成角色的自定义label
* 也可以用option插槽来做 * 也可以用option插槽来做
@ -130,13 +125,13 @@ const [BasicDrawer, drawerApi] = useVbenDrawer({
return null; return null;
} }
drawerApi.drawerLoading(true); drawerApi.drawerLoading(true);
const { id, update } = drawerApi.getData() as DrawerProps; const { id } = drawerApi.getData() as { id: number | string };
isUpdate.value = update; isUpdate.value = !!id;
/** update时 禁用用户名修改 不显示密码框 */ /** update时 禁用用户名修改 不显示密码框 */
formApi.updateSchema([ formApi.updateSchema([
{ componentProps: { disabled: update }, fieldName: 'userName' }, { componentProps: { disabled: isUpdate.value }, fieldName: 'userName' },
{ {
dependencies: { show: () => !update, triggerFields: ['id'] }, dependencies: { show: () => !isUpdate.value, triggerFields: ['id'] },
fieldName: 'password', fieldName: 'password',
}, },
]); ]);
@ -160,10 +155,8 @@ const [BasicDrawer, drawerApi] = useVbenDrawer({
// //
await setupDeptSelect(); await setupDeptSelect();
if (user) { if (user) {
for (const key in user) { //
// formApi.setValues(user);
await formApi.setFieldValue(key, user[key as keyof typeof user]);
}
// //
await formApi.setFieldValue('postIds', postIds); await formApi.setFieldValue('postIds', postIds);
await formApi.setFieldValue('roleIds', roleIds); await formApi.setFieldValue('roleIds', roleIds);
@ -180,7 +173,6 @@ async function handleConfirm() {
return; return;
} }
const data = await formApi.getValues(); const data = await formApi.getValues();
console.log(data);
await (isUpdate.value ? userUpdate(data) : userAdd(data)); await (isUpdate.value ? userUpdate(data) : userAdd(data));
emit('reload'); emit('reload');
await handleCancel(); await handleCancel();