From 62c398b2ef158ed14dcd9a22a00238ed9e9b02ec Mon Sep 17 00:00:00 2001 From: liudi Date: Tue, 14 Dec 2021 13:49:56 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8Dalert=E8=AE=BE?= =?UTF-8?q?=E7=BD=AEdismissTimer=E5=90=8E=E6=8F=90=E5=89=8D=E7=82=B9?= =?UTF-8?q?=E5=87=BBclose=E6=8A=A5=E9=94=99=EF=BC=8C=E7=A9=BA=E6=A0=B7?= =?UTF-8?q?=E5=BC=8F=E7=AD=89=E9=97=AE=E9=A2=98=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/devui-vue/devui/alert/src/alert.tsx | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/packages/devui-vue/devui/alert/src/alert.tsx b/packages/devui-vue/devui/alert/src/alert.tsx index afd1b29f97..eee2030335 100644 --- a/packages/devui-vue/devui/alert/src/alert.tsx +++ b/packages/devui-vue/devui/alert/src/alert.tsx @@ -36,8 +36,9 @@ export default defineComponent({ const hide = ref(false) const closing = ref(false) const alertEl = ref() - + let dismissTimer: undefined | number = undefined; const close = (event?: MouseEvent) => { + dismissTimer && clearTimeout(dismissTimer) const dom = alertEl.value dom.style.height = `${dom.offsetHeight}px` // 重复一次后才能正确设置 height @@ -47,13 +48,14 @@ export default defineComponent({ } const afterLeave = () => { + dismissTimer = undefined; hide.value = true closing.value = false } onMounted(() => { if (props.dismissTime) { - setTimeout(() => { + dismissTimer = window.setTimeout(() => { close() }, props.dismissTime) } @@ -65,9 +67,8 @@ export default defineComponent({
{props.closeable ? (