From f60f6932e09d85a872308db035bbd436135f9260 Mon Sep 17 00:00:00 2001 From: Kyrielin Date: Fri, 8 Jul 2022 14:39:38 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=20dialog=20=E9=98=BB?= =?UTF-8?q?=E6=AD=A2=E5=86=92=E6=B3=A1=E5=AF=BC=E8=87=B4=20popup=20?= =?UTF-8?q?=E6=97=A0=E6=B3=95=E6=AD=A3=E5=B8=B8=E5=85=B3=E9=97=AD=20(#1057?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/_common | 2 +- src/dialog/RenderDialog.tsx | 20 ++++++++------------ 2 files changed, 9 insertions(+), 13 deletions(-) diff --git a/src/_common b/src/_common index c9fd803e2..1d69c2169 160000 --- a/src/_common +++ b/src/_common @@ -1 +1 @@ -Subproject commit c9fd803e2c7f0539d596d358a561d57b44cfb2be +Subproject commit 1d69c2169a645e6ce4655d2b5b29d86a797aa8e7 diff --git a/src/dialog/RenderDialog.tsx b/src/dialog/RenderDialog.tsx index d9425a06c..1a2a64ef7 100644 --- a/src/dialog/RenderDialog.tsx +++ b/src/dialog/RenderDialog.tsx @@ -56,8 +56,10 @@ const RenderDialog = forwardRef((props: RenderDialogProps, ref: React.Ref(); const dialog = useRef(); + const dialogPosition = useRef(); const maskRef = useRef(); const portalRef = useRef(); const bodyOverflow = useRef(); @@ -152,8 +154,10 @@ const RenderDialog = forwardRef((props: RenderDialogProps, ref: React.Ref) => { if (showOverlay && (closeOnOverlayClick ?? local.closeOnOverlayClick)) { - onOverlayClick({ e }); - onClose({ e, trigger: 'overlay' }); + if (e.target === dialogPosition.current) { + onOverlayClick({ e }); + onClose({ e, trigger: 'overlay' }); + } } }; @@ -254,13 +258,12 @@ const RenderDialog = forwardRef((props: RenderDialogProps, ref: React.Ref -
+
e.stopPropagation()} > {closer} {header} @@ -329,14 +332,7 @@ const RenderDialog = forwardRef((props: RenderDialogProps, ref: React.Ref +
{mode === 'modal' && renderMask()} {dialogBody}