如何实现 El-Table 数据合并,且满足特定条件下的合并规则?

如何实现 el-table 数据合并,且满足特定条件下的合并规则?

el-table 数据合并优化

问题描述

需要实现 el-table 数据合并,但遇到问题:只要有相同值就可以合并,但实际要求为:

  • 其他列有相同值正常合并
  • 诉求类型中相同值合并时,诉求利用率也需合并
  • 以上规则在细分类型和细分利用率中也适用

优化方案

数据清洗:

  1. 标记第一次出现的值 ismerge = false,需要被合并的行设置 ismerge = true。
  2. 根据 ismerge: [false, false) 记录 appeal_type 和 detail_appeal_type 的合并行的索引范围。
  3. 对 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 数据合并。

以上就是如何实现 El-Table 数据合并,且满足特定条件下的合并规则?的详细内容,更多请关注其它相关文章!