返回的是一维数组
o:[{id:1,name:s;age:11},{id:1,name:s;age:11},{id:2,name:p;age:15}]
1、对返回的数据做处理
getData() { that.tableData = res.data.data.list; that.getFormatList(); // 重新合并行 }, getFormatList() { let recordObj = {}; this.recordIndexArr = []; this.tableData.forEach((element, index) => { element.rowIndex = index; if (recordObj[element.recordId]) { recordObj[element.recordId].push(index); } else { recordObj[element.recordId] = []; recordObj[element.recordId].push(index); } }); // 将数组长度大于1的值 存储到this.recordIndexArr(也就是需要合并的项) for (let k in recordObj) { if (recordObj[k].length > 1) { this.recordIndexArr.push(recordObj[k]); } } },
2、合并行
objectSpanMethod({ row, column, rowIndex, columnIndex }) { if (columnIndex <= 9) { for (let i = 0; i < this.recordIndexArr.length; i++) { let element = this.recordIndexArr[i]; for (let j = 0; j < element.length; j++) { let item = element[j]; if (rowIndex == item) { if (j == 0) { return { rowspan: element.length, colspan: 1 }; } else if (j != 0) { return { rowspan: 0, colspan: 0 }; } } } } } },
完成