1、在el-table上写:span-method="objectSpanMethod"
1、methods中写方法
objectSpanMethod({ row, rowIndex, columnIndex }) {
// console.log(row);
this.row11 =row
const _row = this.spandata[rowIndex]
const _col = _row > 0 ? 1 : 0
if (columnIndex === 0) {
return {
rowspan: _row,
colspan: _col
}
}
},
以及方法
rowspan(list , prop) {
var spanArr = []
var position = 0
list.forEach((item, index) => {
if (index === 0) {
spanArr.push(1)
position = 0
} else {
if (list[index][prop] === list[index - 1][prop]) {
spanArr[position] += 1 //有相同项
spanArr.push(0) // 名称相同后往数组里面加一项0
} else {
spanArr.push(1) //同列的前后两行单元格不相同
position = index
}
}
})
return spanArr
},
3、每一页请求回来数据后,将要显示的数据 调用如上2方法
this.spandata = this.rowspan(response.data , 'name')
输入第一个值是返回数据res.data 第二个是要哪一列合并