fix: alert confirm state in beforeClose callback (#6019)
This commit is contained in:
parent
b985ff0584
commit
14377705e7
@ -47,6 +47,10 @@ function onAlertClosed() {
|
|||||||
isConfirm.value = false;
|
isConfirm.value = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function onEscapeKeyDown() {
|
||||||
|
isConfirm.value = false;
|
||||||
|
}
|
||||||
|
|
||||||
const getIconRender = computed(() => {
|
const getIconRender = computed(() => {
|
||||||
let iconRender: Component | null = null;
|
let iconRender: Component | null = null;
|
||||||
if (props.icon) {
|
if (props.icon) {
|
||||||
@ -116,13 +120,11 @@ function handleCancel() {
|
|||||||
|
|
||||||
const loading = ref(false);
|
const loading = ref(false);
|
||||||
async function handleOpenChange(val: boolean) {
|
async function handleOpenChange(val: boolean) {
|
||||||
const confirmState = isConfirm.value;
|
await nextTick(); // 等待标记isConfirm状态
|
||||||
isConfirm.value = false;
|
|
||||||
await nextTick();
|
|
||||||
if (!val && props.beforeClose) {
|
if (!val && props.beforeClose) {
|
||||||
loading.value = true;
|
loading.value = true;
|
||||||
try {
|
try {
|
||||||
const res = await props.beforeClose({ isConfirm: confirmState });
|
const res = await props.beforeClose({ isConfirm: isConfirm.value });
|
||||||
if (res !== false) {
|
if (res !== false) {
|
||||||
open.value = false;
|
open.value = false;
|
||||||
}
|
}
|
||||||
@ -142,6 +144,7 @@ async function handleOpenChange(val: boolean) {
|
|||||||
:overlay-blur="overlayBlur"
|
:overlay-blur="overlayBlur"
|
||||||
@opened="emits('opened')"
|
@opened="emits('opened')"
|
||||||
@closed="onAlertClosed"
|
@closed="onAlertClosed"
|
||||||
|
@escape-key-down="onEscapeKeyDown"
|
||||||
:class="
|
:class="
|
||||||
cn(
|
cn(
|
||||||
containerClass,
|
containerClass,
|
||||||
|
Loading…
Reference in New Issue
Block a user