首先,数据源需要按照正常表格的数据源格式,刚开始后端老哥自做聪明把要合并的部分当做一条数据,不合并的部分放到了一个数组里边,我就完全不知道怎么操作了。
然后通过下边这段代码计算出需要合并的部分的行数。存在一个数组里,这个数组是一个非常有用的数组,在你进行编辑表格数据等操作的时候都非常有用。
count (data) {
let x = ""
let count = 0
let startindex = 0
for (let i = 0; i < data.length; i++) {
let val = data[(i)].name
if (i == 0) {
x = val
count = 1
this.myArray[0] = 1
} else {
if (val == x) {
count++
this.myArray[startindex] = count
this.myArray[i] = 0
} else {
count = 1
x = val
startindex = i
this.myArray[i] = 1
}
}
}
},
然后在需要合并的列自定义如下
customRender: (value, row, index) => {
const obj = {
children: value,
attrs: {}
}
obj.attrs.rowSpan = this.myArray[index]
return obj
}
就可以实现单元格合并了