<div v-for="(item, index) in containerTable" :key="index">
<table-list
:isMyTable="false"
:tableConfig="item"
:tableHeader="item.tableHeader"
:objectSpanMethod="(...arg) => objectSpanMethod(...arg, item.tableData)"/>
</div>
//------methods----
objectSpanMethod({ row, column, rowIndex, columnIndex }, data) {
if (columnIndex === 0) {//因为我是合并第一列的
var spanArr = this.getSpanArr(data, "firstLayer");//firstLayer你的参数key,
// 可以根据column.property 或者column.label表头,label从tableHeader取
const _row = spanArr[rowIndex];
const _col = _row > 0 ? 1 : 0;
return {
rowspan: _row,
colspan: _col,
};
}
},
// 处理合并⾏的数据
getSpanArr(data, spanKey) {
var spanArr = [];
var pos = "";
this.spanArr = [];
this.pos = "";
for (var i = 0; i < data.length; i++) {
if (i === 0) {
spanArr.push(1);
pos = 0;
} else {
if (data[i][spanKey] === data[i - 1][spanKey]) {
spanArr[pos] += 1;
spanArr.push(0);
} else {
spanArr.push(1);
pos = i;
}
}
}
return spanArr;
},
循环表格组件合并单元格
于 2022-10-14 15:50:52 首次发布