table 合并

139 阅读1分钟
arraySpanMethod({ rowIndex, columnIndex }) { // 要合并的行下标 if (columnIndex <= 4) { const spanArr = this.rowspan() for (let i = 0; i < spanArr.length; i++) { const _row = spanArr[rowIndex] return { rowspan: _row, colspan: 1 } } } }, rowspan() { // 二维数组,用于存放单元格合并规则 const spanArr = [] // 用于存储相同项的开始index let position = 0 this.dealProtocolTrackingList.forEach((item, index) => { if (index === 0) { spanArr.push(1) position = 0 } else { if (this.dealProtocolTrackingList[index].dealId === this.dealProtocolTrackingList[index - 1].dealId && this.dealProtocolTrackingList[index].type !== this.dealProtocolTrackingList[index - 1].type) { spanArr[position] += 1 // 有相同项 spanArr.push(0) // 名称相同后往数组里面加一项0 } else { spanArr.push(1) // 同列的前后两行单元格不相同 position = index } } }) return spanArr },