我正在尝试在材质ui中创建一个不阻塞主要内容的对话框。
使用下面的代码,我只能隐藏背景,而不能禁用背景。
<Dialog open={this.state.open} onClose={this.handleClose} hideBackdrop={true} >
有人可以解决我有关如何使用material-ui创建模态的问题吗?
答案 0 :(得分:0)
答案 1 :(得分:0)
我只是想将其发布为单独的答案。 OP可以通过在根对话框/模式上禁用指针事件来解决他的问题:
const StyledDialog = withStyles({
root: { pointerEvents: "none", },
paper: { pointerEvents: "auto" }
})(props => <Dialog hideBackdrop {...props} />);
我还测试了以下内容,它也很好用(也应与Modal
组件一起使用)。注意,我还必须使用disableEnforceFocus
,它是Modal组件的属性。您应该注意,这样做会影响可访问性。正确处理辅助功能由您自己决定。
<Dialog
disableEnforceFocus
style={{ pointerEvents: 'none' }}
PaperProps={{ style: { pointerEvents: 'auto' } }}
>
...
</Dialog>