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}