因某些场景需要对表格内容按行合并,参考网上帖子(70条消息) antdesign-vue table合并列_Dreamy smile-CSDN博客
实际测试有时页面展示正常,有时不正常,分析这段代码rowSpan统计的是所有单元内容与text相同的行,实际rowSpan只有合并的第一行应该统计内容相同的行数,其余被合并行rowSpan应该设置为0,增加传入当前行做判断,调整后代码如下:
const mergeCells = (text, index, array, columns) => {
let rowSpan = 0
if (array.length == 1) {
rowSpan = 1
} else {
let i = index;
for (i = index; i >= 0; i--) {
if (array[i][columns] == text) {
continue;
} else {
break;
}
}
if (index > i + 1) {
rowSpan = 0
} else {
let j = index;
for (j = index; j < array.length; j++) {
if (array[j][columns] == text) {
continue;
} else {
break;
}
}
rowSpan = j - index
if (rowSpan < 0) {
rowSpan = 0
}
}
}
return rowSpan
};
以上代码for循环i得到该单元格内容最小下标-1,for循环j得到该单元格内容最大下标+1。