diff --git a/playground/src/views/examples/drawer/form-drawer-demo.vue b/playground/src/views/examples/drawer/form-drawer-demo.vue index 620432d7..eab0c961 100644 --- a/playground/src/views/examples/drawer/form-drawer-demo.vue +++ b/playground/src/views/examples/drawer/form-drawer-demo.vue @@ -47,6 +47,8 @@ const [Drawer, drawerApi] = useVbenDrawer({ const data = drawerApi.getData(); if (data?.values) { formApi.setValues(data.values); + } else { + formApi.reset(); } } }, diff --git a/playground/src/views/system/dept/modules/form.vue b/playground/src/views/system/dept/modules/form.vue index 5a134447..040a2bc8 100644 --- a/playground/src/views/system/dept/modules/form.vue +++ b/playground/src/views/system/dept/modules/form.vue @@ -58,11 +58,12 @@ const [Modal, modalApi] = useVbenModal({ if (isOpen) { const data = modalApi.getData(); if (data) { - if (data.pid === 0) { - data.pid = undefined; - } formData.value = 'id' in data ? data : undefined; - formApi.setValues(data); + const formValues = { + ...data, + ...(data.pid === 0 ? { pid: undefined } : {}), + }; + formApi.setValues(formValues); } else { formData.value = undefined; formApi.reset(); diff --git a/playground/src/views/system/role/modules/form.vue b/playground/src/views/system/role/modules/form.vue index 968ba2ef..79879072 100644 --- a/playground/src/views/system/role/modules/form.vue +++ b/playground/src/views/system/role/modules/form.vue @@ -57,6 +57,7 @@ const [Drawer, drawerApi] = useVbenDrawer({ formData.value = data; id.value = data.id; } else { + formData.value = undefined; id.value = undefined; } diff --git a/playground/src/views/system/user/modules/form.vue b/playground/src/views/system/user/modules/form.vue index 0a010252..f904f08e 100644 --- a/playground/src/views/system/user/modules/form.vue +++ b/playground/src/views/system/user/modules/form.vue @@ -56,6 +56,7 @@ const [Drawer, drawerApi] = useVbenDrawer({ formData.value = data; id.value = data.id; } else { + formData.value = undefined; id.value = undefined; }