
el-table 数据合并优化
问题描述
需要实现 el-table 数据合并,但遇到问题:只要有相同值就可以合并,但实际要求为:
- 其他列有相同值正常合并
- 诉求类型中相同值合并时,诉求利用率也需合并
- 以上规则在细分类型和细分利用率中也适用
优化方案
数据清洗:
- 标记第一次出现的值 ismerge = false,需要被合并的行设置 ismerge = true。
- 根据 ismerge: [false, false) 记录 appeal_type 和 detail_appeal_type 的合并行的索引范围。
- 对 appeal_type_utilization_rate 和 detail_appeal_type_utilization_rate,根据 2. 记录的索引范围,对值进行求和记为 sum,将索引范围内每一行的该列的值设置为 sum,并设置每行的 ismerge 字段正确。
span method:
function objectSpanMethod({ rowIndex }) {
const currentData = this.tableData[rowIndex];
if (!currentData.isMerge) {
return {
rowspan: 1,
colspan: 1,
};
}
return {
rowspan: 0,
colspan: 1,
};
}经过以上优化,即可实现符合要求的 el-table 数据合并。










