德国世界杯_2012年世界杯 - fyycdq.com

德国世界杯_2012年世界杯 - fyycdq.com

elementUI 的el-table中使用了动态列出现高度塌陷

使用动态列的表格初次加载时出现塌陷

解决方法

首先检查你的布局是否有问题,具体方法是页面生成后发生高度塌陷再使用控制台缩放页面大小时,引起页面重绘后高度恢复正常,这时候说明你的布局是没问题。若仍旧高度塌陷,请你先检查你的布局代码。

若布局没有问题,则需要在updated钩子中使用el-talbe自带的doLayout方法。调用此方法后table组件会重排。

updated(){

this.$refs.mainTable.doLayout()

},

思考

为什么使用固定列的时候没有发现这个问题,我觉得是动态列,都是经过请求并且整理数据后才展示在页面上的,固定列则是写死在代码里的,动态列的渲染肯定比固定列要慢的,但是浏览器已经完成了渲染,所以出现了高度塌陷。

使用控制台尝试缩放页面触发页面重绘,发现页面重绘后高度恢复正常。所以在updated中调用el-talbe的重排,能保证每次表格发生变动时,页面都重排保证页面的初次加载准确。