diff --git a/apps/web-antd/src/components/select-modal/user-select-modal.vue b/apps/web-antd/src/components/select-modal/user-select-modal.vue index bd31a0d5c..60ae64784 100644 --- a/apps/web-antd/src/components/select-modal/user-select-modal.vue +++ b/apps/web-antd/src/components/select-modal/user-select-modal.vue @@ -69,6 +69,7 @@ const deptSearchKeys = ref(''); // 用户数据管理 const userList = ref([]); // 存储所有已知用户 const selectedUserIds = ref([]); +const openModalData = ref<{ userIds?: number[] }>({}); // 弹窗配置 const [Modal, modalApi] = useVbenModal({ @@ -80,7 +81,7 @@ const [Modal, modalApi] = useVbenModal({ return; } // 加载数据 - const data = modalApi.getData(); + const data = openModalData.value || modalApi.getData(); if (!data) { return; } @@ -124,6 +125,16 @@ const [Modal, modalApi] = useVbenModal({ destroyOnClose: true, }); +defineExpose({ + open(userIds: number[]) { + openModalData.value = { + userIds, + }; + modalApi.open(); + }, + close: modalApi.close, +}); + // 左侧列表状态 const leftListState = ref({ searchValue: '', @@ -408,9 +419,9 @@ function processDeptNode(node: any): DeptTreeNode {