elementUI table表格相同元素合并行----支持多列

效果图如下:

vue2代码如下:
只粘贴了js方法哦,

复制代码
methods: {

// 设置合并行

setrowspans() {

const columns = 'name', 'value'; // 需要合并的列名

// 为每个需要合并的列设置默认 rowspan

this.tableData.forEach(row => {

columns.forEach(col => {

rowcol + 'Rowspan' = 1; // 例如:row'name1Rowspan' = 1

});

});

复制代码
columns.forEach((col, index) => {
    for (let i = 0; i < this.tableData.length; i++) {
        // 这里进行判断
        // 如果当前行的列数据和下一行的列数据相等
        // 就把当前rowspan + 1,下一行的rowspan - 1
        for (let j = i + 1; j < this.tableData.length; j++) {
            if (this.tableData[i][col] === this.tableData[j][col]) {
                this.tableData[i][col + 'Rowspan']++;
                this.tableData[j][col + 'Rowspan']--;
            } else {
                break; // 如果不相等,跳出循环,因为已经没有相同的了
            }
        }
        // 这里跳过已经重复的数据
        i = i + this.tableData[i][col + 'Rowspan'] - 1;
    }
});

},

// 合并行

arraySpanMethod({ row, column, rowIndex, columnIndex }) {

// 根据列索引决定合并哪一列

if (columnIndex === 1 || columnIndex === 3) { // 这里可能需要调整,根据你实际的列数

return {

rowspan: rowcolumn.property + 'Rowspan',

colspan: 1

};

}

}

相关推荐
爱分享的程序猿-Clark6 分钟前
【前端分享】vue开发项目,如何实现 从A页面跳转到B页面,并传值!
前端·javascript·vue.js
徐小夕38 分钟前
花了3天,我写了一款开源AI公众号编辑器
前端·vue.js·github
come112341 小时前
Vue 2 与 Vue 3 语法区别及使用技巧
前端·javascript·vue.js
腻害兔2 小时前
【若依项目-产品经理视角】RuoYi-Vue-Pro 源码拆解:ERP 企业资源模块,一个轻量级进销存的完整实现?
前端·javascript·vue.js·人工智能·前端框架·产品经理·ai编程
Simon_He2 小时前
AI 对话里的流式 Markdown 为什么难:从不完整 Token 到增量渲染
vue.js
达子6662 小时前
第4章_图解HarmonyOS 的结构
vue.js
jyp201211073 小时前
Vue3 Diff 算法
前端·vue.js
xn71333 小时前
AI SDK 7 迁移实战:TypeScript 通过后,生产环境还会坏在哪里?
vue.js·人工智能·后端
smallcelebration4 小时前
139 @vueuse/core依赖介绍使用
前端·javascript·vue.js
蒜苔肉丝4 小时前
Vue3 动态表单:模块复用 + 动态增删行 + 数据回显
前端·javascript·vue.js