ant-design-vue-pro a-table表格按行合并

本文介绍如何修复AntDesign-VueTable中表格行合并的问题,通过改进rowSpan计算逻辑,确保只合并首行内容相同的部分,提高表格正确显示。博主分享了修复后的代码和关键调整,适用于处理复杂场景下的数据合并需求。
摘要由CSDN通过智能技术生成

因某些场景需要对表格内容按行合并,参考网上帖子(70条消息) antdesign-vue table合并列_Dreamy smile-CSDN博客

实际测试有时页面展示正常,有时不正常,分析这段代码rowSpan统计的是所有单元内容与text相同的行,实际rowSpan只有合并的第一行应该统计内容相同的行数,其余被合并行rowSpan应该设置为0,增加传入当前行做判断,调整后代码如下:

 const mergeCells = (text, index, array, columns) => {
    let rowSpan = 0
    if (array.length == 1) {
      rowSpan = 1
    } else {
      let i = index;
      for (i = index; i >= 0; i--) {
        if (array[i][columns] == text) {
          continue;
        } else {
          break;
        }
      }
      if (index > i + 1) {
        rowSpan = 0
      } else {
        let j = index;
        for (j = index; j < array.length; j++) {
          if (array[j][columns] == text) {
            continue;
          } else {
            break;
          }
        }
        rowSpan = j - index
        if (rowSpan < 0) {
          rowSpan = 0
        }
      }
    }
    return rowSpan
  };

 以上代码for循环i得到该单元格内容最小下标-1,for循环j得到该单元格内容最大下标+1。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值