chore: 弹窗关闭后仍然显示表单浮层

This commit is contained in:
dap 2024-12-19 15:17:20 +08:00
parent 78fe591111
commit 6ec8f4ced9
3 changed files with 12 additions and 2 deletions

View File

@ -22,7 +22,7 @@ const props = withDefaults(defineProps<{ ellipseNumber?: number }>(), {
ellipseNumber: 3, ellipseNumber: 3,
}); });
const emit = defineEmits<{ finish: [User[]] }>(); const emit = defineEmits<{ cancel: []; finish: [User[]] }>();
const [UserSelectModal, modalApi] = useVbenModal({ const [UserSelectModal, modalApi] = useVbenModal({
connectedComponent: userSelectModal, connectedComponent: userSelectModal,
@ -80,6 +80,6 @@ const displayedList = computed(() => {
</Tooltip> </Tooltip>
</AvatarGroup> </AvatarGroup>
<a-button size="small" @click="handleOpen">选择人员</a-button> <a-button size="small" @click="handleOpen">选择人员</a-button>
<UserSelectModal @finish="handleFinish" /> <UserSelectModal @cancel="$emit('cancel')" @finish="handleFinish" />
</div> </div>
</template> </template>

View File

@ -20,6 +20,13 @@ const props = withDefaults(defineProps<{ mode?: 'multiple' | 'single' }>(), {
}); });
const emit = defineEmits<{ const emit = defineEmits<{
/**
* 取消的事件
*/
cancel: [];
/**
* 选择完成的事件
*/
finish: [User[]]; finish: [User[]];
}>(); }>();
@ -27,6 +34,7 @@ const [BasicModal, modalApi] = useVbenModal({
title: '选择人员', title: '选择人员',
class: 'w-[1050px]', class: 'w-[1050px]',
fullscreenButton: false, fullscreenButton: false,
onClosed: () => emit('cancel'),
onConfirm: handleSubmit, onConfirm: handleSubmit,
async onOpened() { async onOpened() {
const { userList = [] } = modalApi.getData() as { userList: User[] }; const { userList = [] } = modalApi.getData() as { userList: User[] };

View File

@ -187,8 +187,10 @@ function handleFinish(userList: User[]) {
@finish="() => reload(false)" @finish="() => reload(false)"
> >
<FormItem label="申请人"> <FormItem label="申请人">
<!-- 弹窗关闭后仍然显示表单浮层 -->
<CopyComponent <CopyComponent
v-model:user-list="selectedUserList" v-model:user-list="selectedUserList"
@cancel="() => (popoverOpen = true)"
@finish="handleFinish" @finish="handleFinish"
/> />
</FormItem> </FormItem>