ant +vue 复杂表格合并

实现表格的行列合并

如上图,实现列相同的合并

1. table字段渲染时customerRender调用方法。多个字段就各自一个方法,这里实例第一列的合并方法

 {
            title: '',
            colSpan: 2,
            align: 'center',
            width: 100,
            fixed: 'left',
            dataIndex: 'ObActType',
            customRender: this.changeObActTypeSpan,
          },

2. 方法中定制合并行或列,每个字段有不同的合并方式,可根据实际调整

// 合并单元格,相同OB ObActType
      changeObActTypeSpan(value, row, index) {
        // 上一行该列数据是否一样
        let rowSpan = 1
        // 部门值相同的单元格合并
        if (index !== 0 && value === this.dataSourceTrans[index - 1].ObActType) {
          return {
            children: value,
            attrs: {
              rowSpan: 0,
            },
          }
        }
        // 判断下一行是否相等
        for (let i = index + 1; i < this.dataSourceTrans.length; i++) {
          if (value !== this.dataSourceTrans[i].ObActType) {
            break
          } else {
            rowSpan++
          }
        }
        // 如果这一列与下一列costCenter数值相同
        if (value === row.costCenter) {
          return {
            children: value,
            attrs: {
              rowSpan: rowSpan,
              colSpan: 2,
            },
          }
        }
        return {
          children: value,
          attrs: {
            rowSpan: rowSpan,
          },
        }
      },

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值