根据表格中id相同的合并单元格
1.标签上加入合并方法
<el-table
:data="tableData.data"
@selection-change="handleSelectionChange"
:span-method="arraySpanMethod"
>
/**
* 合并行
*/
interface SpanMethodProps {
row: ListPageType;
column: TableColumnCtx<ListPageType>;
rowIndex: number;
columnIndex: number;
}
const arraySpanMethod = ({
row,
column,
rowIndex,
columnIndex
}: SpanMethodProps) => {
if (columnIndex === 0) {
return {
rowspan: row.rowspan1,
colspan: 1
};
}
if (columnIndex === 1) {
return {
rowspan: row.rowspan1,
colspan: 1
};
}
};
function getSpanArr(list: any) {
// 先给所有的数据都加一个v.rowspan = 1
list.forEach(item => {
item.rowspan = 1;
item.rowspan1 = 1;
});
// 双层循环
for (let i = 0; i < list.length; i++) {
for (let j = i + 1; j < list.length; j++) {
//此处可根据相同字段进行合并
if (list[i].pymt_pl_lmt_id == list[j].pymt_pl_lmt_id) {
list[i].rowspan1++;
list[j].rowspan1--;
}
}
// 这里跳过已经重复的数据
i = i + list[i].rowspan - 1;
i = i + list[i].rowspan1 - 1;
}
data.value = list;
}
2.他会根据 pymt_pl_lmt_id 该值判断,相同的合并单元格。