element的table合并第一列万能用法

element的table合并第一列万能用法

!!!一定要看这段解释
看到下面这里需要修改的地方
this.selectList是具体到循环的数组
'colorID’是我需要判断的键值对,要加引号,不然会被判断为变量,改成你需要判断的键值对

      <el-table :span-method="objectSpanMethod"></el-table>
    // 合并行
    objectSpanMethod({ row, column, rowIndex, columnIndex }) {
      // 如果是第一行
      if (columnIndex === 0) {
        const _row = this.filterSpan(this.selectList, 'colorID')[rowIndex] // 这里需要修改
        const _col = _row > 0 ? 1 : 0
        return {
          rowspan: _row,
          colspan: _col
        }
      }
    },
    // 处理数据
    filterSpan(arr, condition) {
      const spanOneArr = []
      let concatOne = 0
      arr.map((item, index) => {
        if (index === 0) {
          spanOneArr.push(1)
        } else {
          // 第一列需合并相同内容的判断条件
          if (item[condition] === arr[index - 1][condition]) {
            spanOneArr[concatOne] += 1
            spanOneArr.push(0)
          } else {
            spanOneArr.push(1)
            concatOne = index
          }
        }
      })
      return spanOneArr
    },

效果图
在这里插入图片描述

如果有用,请给我点赞收藏,我会很开心,谢谢

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值