JavaScript – Flexbox调整大小事件(?)

前端之家收集整理的这篇文章主要介绍了JavaScript – Flexbox调整大小事件(?)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
所以我有一个大量使用flexBox的布局.我一直很喜欢它,这很棒.作为一个注释,我也大量使用AngularJS,可能我使用ng-include(或其他)可能会导致问题的发生.

问题是我正在使用第三方组件绘制一个网格(angular-grid是具体的).当JavaScript专门调用时,它只调整列的大小,也可以在初始化后设置一次.

这里的问题是列未正确调整大小.他们似乎被调整到不同的空间.我确实发生的是,flexBox首先绘制对象而不考虑flex,然后在加载完成后,布局将会延续.

假设我的假设是正确的,我预计这个解决方案将会发现一个JavaScript(或JQuery或者Angular)事件来调整大小,然后通知网格需要重新绘制列.话虽如此,我没有发现这样的事件,所以也许我正在接近问题,或者也许我没有选择最好的搜索字词.

只是为了帮助可视化的问题,这里是一个例子HTML(网格有点怪异). (style =“…”实际上是通过css类或Angular Material标签来定义的 – 参见here.)

<div style="display: flex; flex-direction: column;">
  <h1>Example Fixed Width Tag</h1>
  <div style="position: relative; flex: 1">
    <div ag-grid="definition" style="width: 100%; height: 100%; position: absolute;">
    <!-- This is where the grid is drawn. -->
    <!-- The position: absolute is done because the grid requires the div here have -->
    <!-- a height and width property. -->
    </div>
  </div>
</div>

谢谢你的时间.

解决方法

如果你假设是这样,那么你可以尝试3件事情.

1)为您的内部网格div添加一个基于flex的基础,使其以适当的大小加载到蝙蝠上,避免调整大小问题.

2)在初始化网格之后应用显示:flex,并将数据添加到您的状态.

3)一旦数据被加载并且网格初始化(这可能是最近要找的东西,就像等待borwser重绘完成),使用requestAnimationFrame方法重绘Ag网格.

猜你在找的JavaScript相关文章