element-ui table组件根据后端返回数据结构实现自定义单元格合并

本文介绍了如何使用JavaScript处理后台返回的数据接口,通过i_id合并table中的数据,重点关注了指标类型的事前预测和事后预警,以及针对特定列的合并单元格逻辑。
摘要由CSDN通过智能技术生成
1、想要的效果

2、后台返回的数据接口 
[
  { name: '上下游单位同名', type: '指标', value: '事前预测', age: '',i_id:'1' },
  { name: '上下游单位同名', type: '指标', value: '事前预测', age: '',i_id:'1' },
  { name: '上下游单位同名', type: '指标', value: '事前预测', age: '',i_id:'1' },
  { name: '同名双向结算', type: '指标', value: '事后预警', age: '', i_id: '2' },
  { name: '贸易合同异常模型', type: '评价模型', value: '事后预警', age:'',i_id:'3' },
  { name: '反洗钱模型', type: '计算模型', value: '事后预警', age:'',i_id:'4' },
]
3、js逻辑代码
    // 处理table数据  收集要合并的数据
    //tableData 为上图后台所返回的table数据源
    //i_id为我们所要合并用的唯一标识
    handleTableData (tableData = []) {
      let rowSpanArr = []
      let position = 0
      if (!!tableData && Array.isArray(tableData)) {
        tableData.map((item, index) => {
          if (index == 0) {
            rowSpanArr.push(1)
            position = 0
          } else {
            if (item.i_id== tableData[index - 1].i_id) {
              rowSpanArr[position] += 1
              rowSpanArr.push(0)
            } else {
              rowSpanArr.push(1)
              position = index
            }
          }
        })
      }
     
      this.rowSpanArr = rowSpanArr
    },
    // table合并单元格方法
    objectSpanMethod ({ row, column, rowIndex, columnIndex }) {
       // 哪一列 和 哪一列 中的 行进行合并
      if (columnIndex != 8 && columnIndex != 9 && columnIndex != 10) {
        let rowspan = this.rowSpanArr[rowIndex]
        return {
          rowspan: rowspan,
          colspan: 1
        };
      }
    }

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值