From 79de6bcbf7724e87510c725034fa3bce55c45dc1 Mon Sep 17 00:00:00 2001 From: Netfan Date: Thu, 17 Apr 2025 22:23:05 +0800 Subject: [PATCH] fix: alert send wrong confirm state to beforeClose (#5991) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 修复alert在按下Esc或者点击遮罩关闭时,可能发送错误的isConfirm状态 --- packages/@core/ui-kit/popup-ui/src/alert/alert.vue | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/packages/@core/ui-kit/popup-ui/src/alert/alert.vue b/packages/@core/ui-kit/popup-ui/src/alert/alert.vue index a5b4d0da..9b133ee1 100644 --- a/packages/@core/ui-kit/popup-ui/src/alert/alert.vue +++ b/packages/@core/ui-kit/popup-ui/src/alert/alert.vue @@ -91,14 +91,13 @@ const getIconRender = computed(() => { }); function doCancel() { - isConfirm.value = false; + handleCancel(); handleOpenChange(false); } function doConfirm() { - isConfirm.value = true; + handleConfirm(); handleOpenChange(false); - emits('confirm'); } provideAlertContext({ @@ -117,11 +116,13 @@ function handleCancel() { const loading = ref(false); async function handleOpenChange(val: boolean) { + const confirmState = isConfirm.value; + isConfirm.value = false; await nextTick(); if (!val && props.beforeClose) { loading.value = true; try { - const res = await props.beforeClose({ isConfirm: isConfirm.value }); + const res = await props.beforeClose({ isConfirm: confirmState }); if (res !== false) { open.value = false; }