我有一个组件,打开和关闭一个材质用户界面对话框。目前,页面上显示的文本后面跟着一个按钮,用于打开对话框。我创建了一个代码沙盒来突出显示我的位置:https://codesandbox.io/s/formdialog-material-demo-forked-cgjgh?file=/demo.js:0-8775
当对话框打开时,是否可以在后台启用滚动(即例如,在主页面上),使得用户可以滚动文本?我已经包括了hideBackdrop
prop 是true
,使背景是隐藏的,但我不知道如何做到这一点,所以在主页面上的滚动可以启用。
3条答案
按热度按时间dgsult0t1#
对我来说,将“disableScrollLock”属性设置为true解决了这个问题。我在Material UI Modal文档中找到了它:https://mui.com/material-ui/api/modal/
我在你的CodeSandbox示例中测试了它,它像预期的那样工作。希望这对你的问题有帮助!
hiz5n14c2#
打开对话框时,请禁用主体标记的溢出:隐藏样式属性。
krcsximq3#
你可以使用React Hook useEffect来管理滚动。
现在,每当点击发生时,“打开”将为真,或者您可能正在使用其他状态方法来通过管理状态打开Material UI对话框。
这就是useEffect方法