IP地址检测
视频播放器
输入关键词搜索
登录
MUI问题记录

MUI问题记录

2025-05-25
编程开发

MUI Dialog Bug:Closing Dialog causes scroll to top

这是一个已知问题。在 Material-UI(MUI)中,关闭<Dialog>组件时,页面可能会自动滚动到顶部。这个问题在社区中已有讨论,并在 GitHub 上有相关的 issue 记录。

解决方案1

使用 keepMounted 属性:在<Dialog>组件中添加 keepMounted 属性,可以防止组件在关闭时被卸载,从而保持滚动位置。

<Dialog open={open} keepMounted>
  {/* Dialog 内容 */}
</Dialog>

解决方案2

设置 disableEnforceFocus 属性:将 disableEnforceFocus 属性设置为 true,可以防止对话框在关闭时强制聚焦,从而避免页面滚动到顶部的问题。

<Dialog open={open} disableEnforceFocus>
  {/* Dialog 内容 */}
</Dialog>

解决方案3

手动记录和恢复滚动位置:在关闭对话框之前记录当前的滚动位置,并在重新打开时恢复。

const scrollPosition = useRef(0);

const handleClose = () => {
  scrollPosition.current = window.scrollY;
  setOpen(false);
};

useEffect(() => {
  if (open) {
    window.scrollTo(0, scrollPosition.current);
  }
}, [open]);
THE END
0/500
暂无评论
📢网站公告
欢迎来到这里
⚙️实用工具
html转pdfmarkdown编辑器
🔥近期热门
本站推荐:腾讯云服务器仅需2.3折 (点击直达)
用户协议
隐私政策
Build Time: 2025-06-02 20:42:09