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

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

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

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

    常见思路

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

    解决方案

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

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

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

  • 相关阅读:
    jvm09
    jvm08
    jvm07
    求解最长公共子序列问题
    归并排序
    求解N皇后问题
    快速排序算法
    求解0/1背包问题
    求解全排列问题
    求解最大连续子序列和问题
  • 原文地址:https://www.cnblogs.com/twodog/p/12134727.html
Copyright © 2011-2022 走看看