element 动态表格新增删除行、列闪现问题

现象:

当行发生改变时;表格先是变高然后迅速复原。
当列发生改变;表头先是变高然后迅速复原。

原因:

无论是新增行列还是删除行列,vue 都需要重新计算单元格的高度和宽度,然后再重新渲染到页面上。因为这个过程被直接反馈到了页面上,所以导致了 table 发生闪烁。

解决:

使用 element 提供的 doLayout 方法
doLayout 对 Table 进行重新布局。当 Table 或其祖先元素由隐藏切换为显示时,可能需要调用此方法。

beforeUpdate(){
  this.$nextTick(() => { //在数据加载完,重新渲染表格
    this.$refs['table'].doLayout();
  })
}

你可能感兴趣的:(前端)