1.首先获取所要合并行的column,去除每一行数据的rowkey,本例取的是Name这一列。
2.当Name的值在多个页面出现时需重新记录rowSpan。
3.合并column中具有相同Name的行。
结果图如下:
表格数据:
const DataArr= [{
Name: '小明',
age: '',
oid: '1',
},
...15个一样de // oid不一样
{
Name: '小明小明',
age: '',
oid: '17',
}]
- 处理 columns 中的某列需要合并行的render
合并行的代码:
const columns = [
{
title: '名称',
key: 'Name',
render(_, row, Tindex) {
let rowSpan = 1;
let arrIndex = 0;
DataArr.forEach((item, Dindex) => {
if (item.oid === row.oid) {
arrIndex = Dindex;// 先获取Name所在的arr的Dindex
}
});
if (Tindex === 0) { // 当值在多个页面出现时重新记录rowSpan
DataArr.forEach((item, Dindex) => {
if (Dindex > arrIndex) {
if (item.Name=== row.Name) {
rowSpan += 1;
}
}
});
} else if (DataArr[arrIndex].Name=== DataArr[arrIndex - 1].Name) {
rowSpan = 0;
} else {
DataArr.forEach((item, Dindex) => {
if (Dindex > arrIndex) {
if (item.Name=== row.Name) {
rowSpan += 1;
}
}
});
}
}
return {
children: row.Name,
props: {
rowSpan,
},
};
},
},
{
title: '年龄',
key: 'age',
}]
转载自: https://blog.youkuaiyun.com/qq_33472885/article/details/99679327