zoukankan      html  css  js  c++  java
  • 解决material UI中弹窗(dialog、popover等)内容被遮挡问题

    在material ui中有几种弹出层,比如:dialog、popover等,这些弹出层都会遇到的一个公共问题是:

    假如弹出层中的内容变化了,弹出层的位置并不会重新定位。
    

    这样,假如一开始弹出层定位在浏览器底部,当弹出层的内容高度增加,可能导致弹出层的一部分内容显示在浏览器视口之外。

    常见思路

    我们可能会设想通过设置anchor等来解决该问题,但anchor决定的是弹出层的初始位置,至少本人的探索结果表明这个方向难以解决。
    官方并没有提供相关api来手动重新定位,或许今后随着版本更新官方可能会修复这个问题。

    解决方案

    经本人查阅github issue相关讨论并手动实践,一种比较良好的解决方案是:

    window.dispatchEvent(new Event('resize'))
    

    即,当我们的操作触发弹出层高度变化时,我们可以手动调用以上代码,这时弹出层将重新定位,从而实现我们的需求。

  • 相关阅读:
    Java--从键盘读取
    java--mkdirs()
    Java--正则表达式
    java--利用Filereader BufferedReader读取文本文档
    java--lambda表达式和动态数组arraylist的forEach方法
    substring 方法
    ES 字符串操作
    slice方法
    process.env.NODE_ENV
    像素
  • 原文地址:https://www.cnblogs.com/twodog/p/12134727.html
Copyright © 2011-2022 走看看