el-table多级表头 固定多列

项目场景:

项目要求表格实现多级标题,并且表格滚动条向右滚动时,前四列锁定,效果如图:

在这里插入图片描述

问题描述

elementUI给的例子中只有一级标题

在这里插入图片描述


解决方案:

1:给一级标题添加fixed,实现固定
2、给一级标题添加宽度width,一级标题宽度等于二级标题宽度之和

<el-table-column :label="$t('lang.dataValue')" fixed width="400">
	<el-table-column v-for="(item,index) of columns" :prop="item.key" :label="item.title" 
           :min-width="item.width" :key="index" >
	</el-table-column>
</el-table-column>
columns: [
          {
            title: this.$t('lang.number'),
            key: 'code',
            align: 'center',
            width: 100,
          },{
            title: this.$t('lang.name'),
            key: 'name',
            align: 'center',
            width: 100,
          },          
          {
            title: this.$t('lang.dividedCategory'),
            key: 'category',
            align: 'center',
            width: 150,
          },
          {
            title: this.$t('tab_col.unit'),
            key: 'unit',
            align: 'center',
            width: 50,
          }
],

本想着这样就完美解决了,但是,一切换数据,发现新问题了,数据错位了,如图:

在这里插入图片描述

原因:重新请求数据,导致el-table渲染异常

解决办法:在请求数据赋值处,使用官方文档提供的doLayout()方法对表格重新布局
在这里插入图片描述

  • 表格设置ref
    在这里插入图片描述
  • 调用el-table重绘方法
    在这里插入图片描述
    到此,完美解决el-table多级表头,固定多列!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值