Browse Source
fix: menu drawer can not be closed after a successful submitting (#5770)
pull/5777/head
Netfan
11 months ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with
2 additions and
18 deletions
-
playground/src/views/system/menu/modules/form.vue
|
|
|
@ -32,7 +32,6 @@ const emit = defineEmits<{ |
|
|
|
success: []; |
|
|
|
}>(); |
|
|
|
const formData = ref<SystemMenuApi.SystemMenu>(); |
|
|
|
const loading = ref(false); |
|
|
|
const titleSuffix = ref<string>(); |
|
|
|
const schema: VbenFormSchema[] = [ |
|
|
|
{ |
|
|
|
@ -445,9 +444,6 @@ const [Form, formApi] = useVbenForm({ |
|
|
|
}); |
|
|
|
|
|
|
|
const [Drawer, drawerApi] = useVbenDrawer({ |
|
|
|
onBeforeClose() { |
|
|
|
if (loading.value) return false; |
|
|
|
}, |
|
|
|
onConfirm: onSubmit, |
|
|
|
onOpenChange(isOpen) { |
|
|
|
if (isOpen) { |
|
|
|
@ -474,13 +470,7 @@ const [Drawer, drawerApi] = useVbenDrawer({ |
|
|
|
async function onSubmit() { |
|
|
|
const { valid } = await formApi.validate(); |
|
|
|
if (valid) { |
|
|
|
loading.value = true; |
|
|
|
drawerApi.setState({ |
|
|
|
closeOnClickModal: false, |
|
|
|
closeOnPressEscape: false, |
|
|
|
confirmLoading: true, |
|
|
|
loading: true, |
|
|
|
}); |
|
|
|
drawerApi.lock(); |
|
|
|
const data = |
|
|
|
await formApi.getValues< |
|
|
|
Omit<SystemMenuApi.SystemMenu, 'children' | 'id'> |
|
|
|
@ -498,13 +488,7 @@ async function onSubmit() { |
|
|
|
drawerApi.close(); |
|
|
|
emit('success'); |
|
|
|
} finally { |
|
|
|
loading.value = false; |
|
|
|
drawerApi.setState({ |
|
|
|
closeOnClickModal: true, |
|
|
|
closeOnPressEscape: true, |
|
|
|
confirmLoading: false, |
|
|
|
loading: false, |
|
|
|
}); |
|
|
|
drawerApi.unlock(); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|