Debug-006-处理el-table添加自定义表头之后,表格高度变小的问题

最近做到了一个功能,实现table的自定义表头:

因为表头字段比较多吧,所以做一个dialog去展示,确定之后就展示对应勾选的表头

这里发现一个问题,就是表头数组改变点击confirm之后在渲染时,el-table的高度在不停变化:

表格高度变小之后,我的十几行数据展示不全。这确实是个问题。

好在elementui中还真有关于el-table有这方面的api:

并且vue2和vue3其实都有这个方法。

              // 给el-table添加ref="tableRef"
              <el-table ref="tableRef"
                        :data="tableData"
                        :border="true"
                        empty-text="No Data"
                        class="table"
                        header-cell-class-name="header-cell"
                        :height="'calc(100% - 100px)'"
                        cell-class-name="row-cell">
                <el-table-column type="index"
                                 width="50" />
                <el-table-column prop="deviceName"
                                 min-width="220"
                                 label="DCU Serial Number"
                                 show-overflow-tooltip />
                <el-table-column v-for="(item) in dataItemFiliter"
                                 :key="item.prop"
                                 :prop="item.prop"
                                 :label="item.label"
                                 :min-width="item.width?item.width:0"
                                 show-overflow-tooltip />
              </el-table>

并且,我打印了一下ref="dableref"这个实例对象,里面确实有我要的东西:
console.log("tableRef", this.$refs.tableRef) //vue2的写法

以后还是要提前多熟悉这些方法和属性,坑真的是都要踩一遍啊,一个也少不了。。

//解决方案:在改变列之后使用doLayout()刷新一下表格
// 给el-table添加ref="tableRef"
this.$nextTick(() => {
   this.$refs.tableRef.doLayout();
});

补充: 

今天看到一篇文章(5.14),发现也是有这个问题,但是是体现在别的方面。

【解决 Element UI 当中 el-table 中使用 show-summary 不显示合计一行】

博主也是通过doLayout()这个方法重新渲染的表格组件,这里就不在赘述,给各位提供多一份案例以便于更好理解这个方法。

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码农小白-RMS

谢谢老板

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值