当前位置: 首页 > news >正文

el根据需求合并列

将 列分为 3 3 1 的格式

以下是vue代码:

<el-table:data="dataSource":border="true":header-cell-style="{ 'font-weight': 'normal', 'text-align': 'center' }":cell-style="{ 'text-align': 'center' }"size="mini"style="width: 100%":span-method="arraySpanMethod"><el-table-column prop="product_name" label="名称1"></el-table-column><el-table-column prop="cap_name" label="名称2"></el-table-column><el-table-column prop="name" label="名称3"></el-table-column><el-table-column prop="name1" label="名称4"></el-table-column><el-table-column prop="name2" label="名称5"></el-table-column></el-table>

data:

//注释:示例是用参数-product_name进行处理-该例好像只有数据是连续aaaa  或  bbbb才可以(第一条是a第二条是a第三条是b---不能第二条是b,第三条是a)dataSource: [{product_name: "aaaa",cap_name: "aa1",name: 2,name1: 1,name2: 0,},{product_name: "aaaa",cap_name: "aa2",name: 1,name1: 1,name2: 1,},,{product_name: "aaaa",cap_name: "aa3",name: 1,name1: 1,name2: 1,},{product_name: "bbbb",cap_name: "bb1",name: 1,name1: 1,name2: 0,},{product_name: "bbbb",cap_name: "bb2",name: 0,name1: 1,name2: 1,},{product_name: "bbbb",cap_name: "bb3",name: 0,name1: 1,name2: 1,},{product_name: "ccccc",cap_name: "cc2",name: 0,name1: 1,name2: 1,},{product_name: "ddddd",cap_name: "dd3",name: 0,name1: 1,name2: 1,},],

methods:

arraySpanMethod({ row, rowIndex, columnIndex }) {// // 合并行  产品名字相同合并if (columnIndex === 0) {if (rowIndex === 0 ||row.product_name != this.dataSource[rowIndex - 1].product_name) {let rowspan = 0;this.dataSource.forEach((element) => {if (element.product_name === row.product_name) {rowspan++;}});return [rowspan, 1];} else {return [0, 0];}}// 合并列 名称值都为1 的合并if (columnIndex > 2) {let colspan = 0;let colkeys = Object.keys(row);let currentindex = columnIndex - 1;if (row[colkeys[currentindex]] === 1) {if (row[colkeys[currentindex - 1]] != row[colkeys[currentindex]]) {for (let i = currentindex; i < colkeys.length; i++) {if (row[colkeys[i]] === 1) {colspan++;} else {break;}}return [1, colspan];} else {return [0, 0];}}}},

在这里插入图片描述
列合并只需 把行合并注释掉即可,如果想第二列合并那就把columnIndex === 0换成1 即可。

相关文章:

  • 基于php的用户登录实现(v2版)(持续迭代)
  • [贰],万能开篇HelloWorld
  • linux多线程编程使用互斥量的原理分析和应用实例
  • 数据结构之顺序表及其实现!
  • 提示词微调:LLMs适应新任务的强大技术
  • 解释 Git 的基本概念和使用方式。
  • openssl3.2 - exp - 可以在命令行使用的口令算法名称列表
  • Pytorch学习 day08(最大池化层、非线性激活层、正则化层、循环层、Transformer层、线性层、Dropout层)
  • (已解决)报错:Could not load the Qt platform plugin “xcb“
  • 资源哟正版无授权模版源码(含搭建教程)
  • 手机APP测试——如何进行安装、卸载、运行?
  • 中国电子学会(CEIT)2023年12月真题C语言软件编程等级考试二级(含解析答案)
  • 编程示例: 矩阵的多项式计算以javascript语言为例
  • 技术迷宫探秘:揭开前端花园、后端洞穴与数据科学密室的神秘面纱
  • 【解读】OWASP大语言模型应用程序十大风险
  • (十五)java多线程之并发集合ArrayBlockingQueue
  • 【Amaple教程】5. 插件
  • CentOS从零开始部署Nodejs项目
  • in typeof instanceof ===这些运算符有什么作用
  • js继承的实现方法
  • Linux快速复制或删除大量小文件
  • PHP 使用 Swoole - TaskWorker 实现异步操作 Mysql
  • Python 使用 Tornado 框架实现 WebHook 自动部署 Git 项目
  • React as a UI Runtime(五、列表)
  • Spring Cloud Feign的两种使用姿势
  • WePY 在小程序性能调优上做出的探究
  • 让你的分享飞起来——极光推出社会化分享组件
  • 如何合理的规划jvm性能调优
  • 入门到放弃node系列之Hello Word篇
  • 什么软件可以剪辑音乐?
  • 腾讯优测优分享 | Android碎片化问题小结——关于闪光灯的那些事儿
  • 移动端唤起键盘时取消position:fixed定位
  • 优秀架构师必须掌握的架构思维
  • 原生 js 实现移动端 Touch 滑动反弹
  • hi-nginx-1.3.4编译安装
  • 移动端高清、多屏适配方案
  • ​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】
  • ​flutter 代码混淆
  • #微信小程序:微信小程序常见的配置传值
  • $Django python中使用redis, django中使用(封装了),redis开启事务(管道)
  • $HTTP_POST_VARS['']和$_POST['']的区别
  • (C语言)strcpy与strcpy详解,与模拟实现
  • (Matalb时序预测)WOA-BP鲸鱼算法优化BP神经网络的多维时序回归预测
  • (二)fiber的基本认识
  • (二)斐波那契Fabonacci函数
  • (二)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (二开)Flink 修改源码拓展 SQL 语法
  • (剑指Offer)面试题41:和为s的连续正数序列
  • (三)Pytorch快速搭建卷积神经网络模型实现手写数字识别(代码+详细注解)
  • (一) springboot详细介绍
  • (转)C#开发微信门户及应用(1)--开始使用微信接口
  • (转)nsfocus-绿盟科技笔试题目
  • (转)可以带来幸福的一本书
  • ***利用Ms05002溢出找“肉鸡
  • .Net Web项目创建比较不错的参考文章