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

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

解决方法

  1. 首先检查你的布局是否有问题,具体方法是页面生成后发生高度塌陷再使用控制台缩放页面大小时,引起页面重绘后高度恢复正常,这时候说明你的布局是没问题。若仍旧高度塌陷,请你先检查你的布局代码。
  2. 若布局没有问题,则需要在updated钩子中使用el-talbe自带的doLayout方法。调用此方法后table组件会重排。

  updated(){
    this.$refs.mainTable.doLayout()
  },

思考

为什么使用固定列的时候没有发现这个问题,我觉得是动态列,都是经过请求并且整理数据后才展示在页面上的,固定列则是写死在代码里的,动态列的渲染肯定比固定列要慢的,但是浏览器已经完成了渲染,所以出现了高度塌陷。
使用控制台尝试缩放页面触发页面重绘,发现页面重绘后高度恢复正常。所以在updated中调用el-talbe的重排,能保证每次表格发生变动时,页面都重排保证页面的初次加载准确。

posted @ 2023-01-16 16:45  wanglei1900  阅读(690)  评论(0编辑  收藏  举报