update: 用户管理 表单更新(非最终方案)

This commit is contained in:
dap
2025-04-07 19:02:28 +08:00
parent 88316d7498
commit 07587c0faf
3 changed files with 24 additions and 12 deletions

View File

@@ -88,10 +88,10 @@ export class DrawerApi {
/**
* 关闭弹窗
*/
close() {
async close() {
// 通过 onBeforeClose 钩子函数来判断是否允许关闭弹窗
// 如果 onBeforeClose 返回 false则不关闭弹窗
const allowClose = this.api.onBeforeClose?.() ?? true;
const allowClose = (await this.api.onBeforeClose?.()) ?? true;
if (allowClose) {
this.store.setState((prev) => ({
...prev,

View File

@@ -1,6 +1,6 @@
import type { Component, Ref } from 'vue';
import type { ClassType } from '@vben-core/typings';
import type { ClassType, MaybePromise } from '@vben-core/typings';
import type { DrawerApi } from './drawer-api';
@@ -151,7 +151,7 @@ export interface DrawerApiOptions extends DrawerState {
* 关闭前的回调,返回 false 可以阻止关闭
* @returns
*/
onBeforeClose?: () => void;
onBeforeClose?: () => MaybePromise<boolean | undefined>;
/**
* 点击取消按钮的回调
*/