使用下面的方法对固定列的表头进行合并,结果发现表头并没有合并,
把fixed去掉后,表头又合并了,
说明:该合并方法受fixed的影响
//表格代码
<el-table>
<el-table-column type="index" align="center" label="序号" width="70px" fixed ></el-table-column>
。。。。
</el-table>
//下面是会受fixed影响的合并方法
mounted() {
this.$nextTick(function(){
this.setheaderColSpan();
})
},
methods(){
//合并表头---会受fixed影响,不再使用
setheaderColSpan(){
let n=document.getElementsByClassName("el-table__header")[0].rows[0].cells;
n[1].colSpan=3;//3为合并的列数
n[2].style.display='none'
n[3].style.display='none'
},
}
解决方法:使用el-table的header-cell-style来解决合并问题
(该方法不受fixed影响)
//表格代码
<el-table
:header-cell-style="setHeader">
<el-table-column type="index" align="center" label="序号" width="70px" fixed ></el-table-column>
</el-table>
methods(){
// 合并表头
setHeader({ row, column, rowIndex, columnIndex }){
if (row[0].level == 1) {
row[1].colSpan = 3
row[2].colSpan = 0
row[3].colSpan = 0
if (columnIndex === 2 || columnIndex === 3) {
return { display: 'none' }
}
}
},
}