效果:根据相同日期进行合并
代码:
objectSpanMethod({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 1) {
let spanArr = this.getSpanArr(this.dayData, 'day_time');
const _row = spanArr[rowIndex];
const _col = _row > 0 ? 1 : 0;
return {
rowspan: _row,
colspan: _col
};
}
},
// 处理合并行的数据
getSpanArr(data, spanKey) {
let that = this;
let spanArr = [];
let pos = '';
for (let i = 0; i < data.length; i++) {
if (i === 0) {
spanArr.push(1);
pos = 0;
} else {
// 判断当前元素与上一个元素是否相同
if (data[i][spanKey] === data[i - 1][spanKey]) {
spanArr[pos] += 1;
spanArr.push(0);
} else {
spanArr.push(1);
pos = i;
}
}
}
return spanArr;
},