From 59ea01f57ea0ad65ce6decf0a2e57652be57ed3b Mon Sep 17 00:00:00 2001 From: 2betop <2698393+2betop@users.noreply.github.com> Date: Fri, 10 May 2024 20:35:02 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=BC=B9=E7=AA=97?= =?UTF-8?q?=E5=B5=8C=E5=A5=97=E5=BC=B9=E7=AA=97=E8=A7=82=E5=AF=9F=E5=8A=A8?= =?UTF-8?q?=E4=BD=9C=E6=89=A7=E8=A1=8C=E9=80=BB=E8=BE=91=E9=94=99=E8=AF=AF?= =?UTF-8?q?=20Close:=20#10200?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/amis/src/renderers/Dialog.tsx | 10 ++++++++-- packages/amis/src/renderers/Drawer.tsx | 7 +++++-- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/packages/amis/src/renderers/Dialog.tsx b/packages/amis/src/renderers/Dialog.tsx index 9b77ff2ce09..aaaffaa96c2 100644 --- a/packages/amis/src/renderers/Dialog.tsx +++ b/packages/amis/src/renderers/Dialog.tsx @@ -555,6 +555,10 @@ export default class Dialog extends React.Component { render(`action/${key}`, action, { data: store.formData, onAction: this.handleAction, + // 以免调用上层弹窗的 onActionSensor 方法 + // 弹窗观察内部的动作执行,不需要观察到子弹窗里面去 + // 所以这里传递了 undefined + onActionSensor: undefined, key, disabled: action.disabled || store.loading || !show }) @@ -715,7 +719,8 @@ export default class Dialog extends React.Component { ) : null} {render('title', title, { data: store.formData, - onAction: this.handleAction + onAction: this.handleAction, + onActionSensor: undefined })} ) : showCloseButton !== false && !store.loading ? ( @@ -731,7 +736,8 @@ export default class Dialog extends React.Component { {header ? render('header', header, { data: store.formData, - onAction: this.handleAction + onAction: this.handleAction, + onActionSensor: undefined }) : null} diff --git a/packages/amis/src/renderers/Drawer.tsx b/packages/amis/src/renderers/Drawer.tsx index 1249e07bf1a..269dc1c5c25 100644 --- a/packages/amis/src/renderers/Drawer.tsx +++ b/packages/amis/src/renderers/Drawer.tsx @@ -550,6 +550,7 @@ export default class Drawer extends React.Component { {actions.map((action, key) => render(`action/${key}`, action, { onAction: this.handleAction, + onActionSensor: undefined, data: store.formData, key, disabled: action.disabled || store.loading @@ -684,7 +685,8 @@ export default class Drawer extends React.Component { data: store.formData, onConfirm: this.handleDrawerConfirm, onClose: this.handleDrawerClose, - onAction: this.handleAction + onAction: this.handleAction, + onActionSensor: undefined })} ) : null} @@ -693,7 +695,8 @@ export default class Drawer extends React.Component { data: store.formData, onConfirm: this.handleDrawerConfirm, onClose: this.handleDrawerClose, - onAction: this.handleAction + onAction: this.handleAction, + onActionSensor: undefined }) : null}