css - 材质对话框在打开时将主体滚动到顶部
问题描述
我在反应应用程序中使用 Material UI 并想在我的页面上打开一个对话框。对话框打开得很好,唯一的问题是当它打开时它会将我的页面正文滚动到顶部。
当我打开 Material Popover 和打开 Material TextBox 选择器时,也会发生滚动到顶部的行为。我已经为此寻找了几个小时的解决方案,似乎以前没有人经历过这种行为。
任何帮助将不胜感激!
openSendMatchPopup = (event) => {
this.setState({
...this.state,
anchorTargetTarget: event.target,
dialogOpen: true,
});
};
<Dialog
id='my-popover'
open={dialogOpen}
anchorEl={anchorTargetTarget}
onClose={onClose}
anchorOrigin={{
vertical: 'bottom',
horizontal: 'center'
}}
transformOrigin={{
vertical: 'top',
horizontal: 'center'
}}
disableRestoreFocus
>
Dialog is Open
</Dialog>
解决方案
只需添加disableScrollLock
到您的对话框中。像这样:
<Dialog
id='my-popover'
open={dialogOpen}
anchorEl={anchorTargetTarget}
onClose={onClose}
anchorOrigin={{
vertical: 'bottom',
horizontal: 'center'
}}
transformOrigin={{
vertical: 'top',
horizontal: 'center'
}}
disableRestoreFocus
disableScrollLock
>
Dialog is Open
</Dialog>
推荐阅读
- reactjs - react redux:如果调用了套接字事件,则调用函数
- arrays - 使用 jq 格式化为 CSV JSON 文件
- php - 如何在 wordpress 的不同页面上使用一个模板?
- c# - Aspose 目录不会更新字段 (C#)
- php - “MySQL 服务器已消失”,然后是“得到一个大于 'max_allowed_packet' 字节的数据包”
- hdfs - 更改 avro/hdfs 的文件编码
- laravel - 我希望每封电子邮件对于某个字段的 id 都是唯一的。如何在 laravel 5 中进行验证
- javascript - 如何在 React Native 中找出错误和位置
- c# - 绑定到多个属性是 Xamarin Forms
- windows - 重新编译后如何在 Tor 中隐藏控制台窗口