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

效果图如下:

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

复制代码
methods: {

// 设置合并行

setrowspans() {

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

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

this.tableData.forEach(row => {

columns.forEach(col => {

row[col + '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: row[column.property + 'Rowspan'],

colspan: 1

};

}

}

相关推荐
星离~7 小时前
Vue响应式原理详解:从零实现一个迷你Vue
前端·javascript·vue.js
一只小阿乐7 小时前
react 中的判断显示
前端·javascript·vue.js·react.js·react
消失的旧时光-19437 小时前
Flutter 与 React/Vue 为什么思想一致?——声明式 UI 体系的深度对比(超清晰版)
vue.js·flutter·react.js
零一科技7 小时前
Vue3学习第三课: ref 与 reactive 选择指南
前端·vue.js
熊猫比分站10 小时前
让电竞数据实时跳动:Spring Boot 后端 + Vue 前端的完美融合实践
前端·vue.js·spring boot
一 乐11 小时前
健康打卡|健康管理|基于java+vue+的学生健康打卡系统设计与实现(源码+数据库+文档)
android·java·数据库·vue.js·spring boot·微信小程序
木子李BLOG11 小时前
Element Plus
前端·javascript·vue.js
Miketutu11 小时前
【大屏优化秘籍】Element UI El-Table 表格透明化与自定义行样式实战
前端·javascript·vue.js
快起来搬砖了13 小时前
Vue 实现阿里云 OSS 视频分片上传:安全实战与完整方案
vue.js·安全·阿里云
znhy@12313 小时前
Vue基础知识(一)
前端·javascript·vue.js