el-table 表头合并

效果如下,圈起来的是一个表头对应两列,这里是多级表头(本篇借鉴而来,如有需要请留言删除!)

 

 先说合并表头,主要用到header-cell-style方法

 

这里有个非常坑的bug 必须是row[0]=0 row[1]=2才会生效 我也是试了很多次才得出这个结论

合并表头代码思路是将两个列通过handerMethod隐藏第一列的同时,让第二列占据两个单元格的宽度来实现合并效果

以上是一个版本描述,下面是另外一个描述:

主要看handerMethod这个方法
rowIndex代表当前行号(行索引),columnIndex 代表当前列号(列索引)
比如说表头是第一行,行号是0,表头第一行第一列,行号和列号都是0

ro

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
-table表头合并可以通过设置表头的属性来实现。具体步骤如下: 1. 在js文件中获取表头,并根据需要修改表头内容。 2. 设置需要合并表头名称数组。 3. 在el-table标签中设置属性::header-cell-style="handerMethod"和:span-method="objectSpanMethod"。 4. 在methods中定义handerMethod和objectSpanMethod方法,用于设置表头样式和合并单元格。 5. 在handerMethod方法中设置表头样式,例如设置背景色等。 6. 在objectSpanMethod方法中设置需要合并的单元格,例如合并第一列和第二列的单元格。 下面是示例代码: ```javascript // 获取表头 getHeader(nv) { this.factoryCodes = nv; this.headerRow2 = []; if (nv == "zgjn-H WS 0101") { this.tableHeader = deviceRunReportHead[1]; this.headerRow2 = ["紫外线杀菌装置"]; } else if (nv == "zgjn-H WS 0106") { this.tableHeader = deviceRunReportHead[2]; this.headerRow2 = ["紫外线杀菌装置", "除臭系统"]; } else if (nv == "zgjn-H WS 0105") { this.tableHeader = deviceRunReportHead[3]; this.headerRow2 = ["紫外线杀菌装置", "除臭系统"]; } else { this.tableHeader = deviceRunReportHead[3]; } this.$nextTick(() => { // 刷新表格样式 this.$refs.slantTable.doLayout(); this.getTableDom(); }); this.keyIndex++; }, // 设置表头样式 handerMethod({ row, column, rowIndex, columnIndex }) { if (rowIndex === 0 || rowIndex === 1) { return { background: '#f2f2f2', color: '#333', fontWeight: 'bold' }; } }, // 设置合并单元格 objectSpanMethod({ row, column, rowIndex, columnIndex }) { if (columnIndex === 0 || columnIndex === 1) { if (rowIndex === 0 || rowIndex === 1) { return { rowspan: 2, colspan: 1 }; } else { return { rowspan: 0, colspan: 0 }; } } } ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值