vue+element ui table表格合并相同行

方法封装

function merge(data, key) {
  const newData = data.map((item, index) => {
    const filterData = data.filter(ele => {
      return item[key] == ele[key]
    })
    const index_ = data.findIndex(ele => {
      return item[key] == ele[key]
    })
    if (index == index_) {
      item.rowspan = filterData.length
    } else {
      item.rowspan = 0
    }
    return item
  })
  return newData
}

function arraySpanMethod({ row, columnIndex }) {
  if (columnIndex === 0) {
    return {
      rowspan: row.rowspan,
      colspan: 1
    }
  }
}

方法调用

const tableData = merge(props.listdata, "STNM")
<el-table :data="tableData":span-method="arraySpanMethod" ></el-table>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。