From e20746521e3dd3102b1e736802a25de6591ac927 Mon Sep 17 00:00:00 2001 From: saller Date: Mon, 10 Oct 2022 11:08:26 +0800 Subject: [PATCH] fix(comp:modal): prevent ok & cancel from triggering while animating (#1190) --- packages/components/modal/src/ModalWrapper.tsx | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/packages/components/modal/src/ModalWrapper.tsx b/packages/components/modal/src/ModalWrapper.tsx index 11440f872..380e19546 100644 --- a/packages/components/modal/src/ModalWrapper.tsx +++ b/packages/components/modal/src/ModalWrapper.tsx @@ -110,6 +110,17 @@ export default defineComponent({ ) const draggableResult = ref() + const handleOk = (evt?: unknown) => { + if (visible.value) { + ok(evt) + } + } + const handleCancel = (evt?: unknown) => { + if (visible.value) { + cancel(evt) + } + } + onMounted(() => watchVisibleChange(props, wrapperRef, sentinelStartRef, mask, draggableResult)) watch( @@ -170,13 +181,13 @@ export default defineComponent({ <ɵFooter v-slots={slots} class={`${prefixCls}-footer`} - cancel={cancel} + cancel={handleCancel} cancelButton={props.cancelButton} cancelLoading={cancelLoading.value} cancelText={cancelText.value} cancelVisible={cancelVisible.value} footer={props.footer} - ok={ok} + ok={handleOk} okButton={props.okButton} okLoading={okLoading.value} okText={okText.value}