【VUE合并同一列相另的行的数据合并为一行:span-method】亲测有用
第一步:
给table加对应的标签的属性
:data="list"
:span-method="arraySpanMethod"
第二步:
在methods中添加对应的处理的方法
arraySpanMethod({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 0) {
const _row = this.getSpanArr(this.list).one[rowIndex]
const _col = _row > 0 ? 1 : 0
return {
rowspan: _row,
colspan: _col,
}
}
},
getSpanArr(arr) {
if (arr) {
const spanOneArr = []
let concatOne = 0
arr.forEach((item, index) => {
if (index === 0) {
spanOneArr.push(1)
} else {
if (item.whoSend === arr[index - 1].whoSend) {
// 第一列需合并相同内容的判断条件
spanOneArr[concatOne] += 1
spanOneArr.push(0)
} else {
spanOneArr.push(1)
concatOne = index
}
}
console.log(spanOneArr);
})
return { one: spanOneArr }
}
},
很有用!!!