<el-table
:data="tableData"
:span-method="objectSpanMethod"
border>
>
methods: {
flitterData(arr){
let spanOneArr = []
let concatOne = 0
arr.forEach((item,index)=>{
if(index === 0){
spanOneArr.push(1);
}else{
//name 修改
if(item.name === arr[index - 1].name){ //第一列需合并相同内容的判断条件
spanOneArr[concatOne] += 1;
spanOneArr.push(0);
}else{
spanOneArr.push(1);
concatOne = index;
};
}
});
return {
one: spanOneArr,
}
},
objectSpanMethod({ row, column, rowIndex, columnIndex }) {
if(columnIndex === 0 ) {
// this.tableData 修改
const _row = (this.flitterData(this.tableData).one)[rowIndex];
const _col = _row > 0 ? 1 : 0;
return {
rowspan: _row,
colspan: _col
};
}
},
}