vue3 elementplus table根据某id相同合并单元格

本文介绍了如何在Vue3项目中使用ElementPlus表格组件,根据指定的id字段实现相同id的单元格合并,主要涉及表格的合并方法。

根据表格中id相同的合并单元格

在这里插入图片描述

1.标签上加入合并方法

 <el-table
          :data="tableData.data"
          @selection-change="handleSelectionChange"
          :span-method="arraySpanMethod"
        >
/**
 * 合并行
 */
interface SpanMethodProps {
  row: ListPageType;
  column: TableColumnCtx<ListPageType>;
  rowIndex: number;
  columnIndex: number;
}
const arraySpanMethod = ({
  row,
  column,
  rowIndex,
  columnIndex
}: SpanMethodProps) => {
  if (columnIndex === 0) {
    return {
      rowspan: row.rowspan1,
      colspan: 1
    };
  }
  if (columnIndex === 1) {
    return {
      rowspan: row.rowspan1,
      colspan: 1
    };
  }
};

function getSpanArr(list: any) {
  // 先给所有的数据都加一个v.rowspan = 1
  list.forEach(item => {
    item.rowspan = 1;
    item.rowspan1 = 1;
  });
  // 双层循环
  for (let i = 0; i < list.length; i++) {
    for (let j = i + 1; j < list.length; j++) {
      //此处可根据相同字段进行合并
      if (list[i].pymt_pl_lmt_id == list[j].pymt_pl_lmt_id) {
        list[i].rowspan1++;
        list[j].rowspan1--;
      }
    }
    // 这里跳过已经重复的数据
    i = i + list[i].rowspan - 1;
    i = i + list[i].rowspan1 - 1;
  }
  data.value = list;
}

2.他会根据 pymt_pl_lmt_id 该值判断,相同的合并单元格。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值