在MUI v4中,您可以通过在createMuiTheme中执行此操作来全局禁用模态或对话框的背景单击
props: {
MuiDialog: {
disableBackdropClick: true,
},
},V5中删除了disableBackdropClick;有没有全局禁用背景点击的替代方案?
发布于 2021-11-16 16:04:45
migration guide建议覆盖关闭处理程序,并根据关闭原因决定是否可以关闭Dialog:
<Modal
onClose={(event, reason) => {
if (reason !== 'backdropClick') {
handleClose(event, reason);
}
}}但是如果你想在createTheme中全局disableBackdropClick,你需要在两个地方禁用click事件:在Dialog的root component和Backdrop component中,以防止onClose回调被调用:
createTheme({
components: {
MuiDialog: {
defaultProps: {
onClick: (e) => e.stopPropagation(),
BackdropProps: {
sx: {
pointerEvents: 'none',
},
},
},
},
},
});实时演示
https://stackoverflow.com/questions/69991556
复制相似问题