el-table 封装合并单元格方法

908 阅读1分钟
export function mergeTableRow(data, merge) {  if (!merge || merge.length === 0) {    return data  }  merge.forEach((m) => {    const mList = {}    data = data.map((v, index) => {      const rowVal = v[m]      if (mList[rowVal] && mList[rowVal].newIndex === index) {        mList[rowVal]['num']++        mList[rowVal]['newIndex']++        data[mList[rowVal]['index']][m + '-span'].rowspan++        v[m + '-span'] = {          rowspan: 0,          colspan: 0        }      } else {        mList[rowVal] = {num: 1, index: index, newIndex: index + 1}        v[m + '-span'] = {          rowspan: 1,          colspan: 1        }      }      return v    })  })  return data}

获取后台数据后调用

mergeTableRow(tableData, ['key1', 'key2', 'key3'])tableData为获取的后台数据  []里为对应的字段

span-method方法

objectSpanMethod({row, column, rowIndex, columnIndex}) {  const span = column['property'] + '-span'  if (row[span]) {    return row[span]  }},