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