element合并表格?

element 树型结构表格的合并问题 完成以上的树型结果的表格,需要掌握以下几点。 首先,我们先看比较简单,总价单元格的合并的问题,这里总价是合并了两列。 他实际上其实就是用到element 中的show-summary 同时定义了table中的refs 实际上就是获取到了表格的元素,然后获取到table底部,进行合并。 其实,我们要做的第二个比较简单,就是如何让树型表格禁用收缩功能,element自带的方法,让他每一次点击都处于展开的状态 最后,就是树型合并的问题,子级的层级不确定数,所以我们需要用到递归的方法 <!-- 公共S. 阅读详情

刚听到这个需求,感觉简直不要太简单。虽然没有搞过这样的需求,但是element的table自带合并不是么。然后自以为是的我被现实狠狠的打了一巴掌

一、官方API

【element table】
如果官方文档能够解决我的问题,就不会有以下问题了。不过还是建议有必要尝试一下官方Demo

二、接收需求

当指定的两列,值与相邻行相同时需要对指定列进行合并操作

先来一些模拟数据:

  data() {
    return {
      tableData: [
        { id: "0", name: "张三", sex: "女" },
        { id: "1", name: "李四", sex: "男" },
        { id: "2", name: "李四", sex: "男" },
        { id: "3", name: "李四", sex: "未知" },
        { id: "4", name: "王五", sex: "未知" },
        { id: "5", name: "张三", sex: "女" },
        { id: "6", name: "张三", sex: "女" },
        { id: "7", name: "张三", sex: "未知" },
        { id: "8", name: "王五", sex: "女" },
        { id: "9", name: "王五", sex: "女" },
        { id: "10", name: "李四", sex: "女" },
        { id: "11", name: "李四", sex: "女" }
      ]
    };
  }

需求转换真实效果,如图所示:
在这里插入图片描述

看似很简单,其实真的不难。
只要把官方Demo吃个差不多,举一反三即可。

三、大展手脚

经过好一番折腾,终于得以实现⬇️

解决问题,首先要明确思路。

  1. 整合数据,需要明确知道哪些数据是要进行合并的,哪些是被合并的,哪些是不需要合并的
  2. 修改合并的逻辑

3.1 组件展示

      <el-table
        :data="tableData"
        :border="true"
        style="width: 300px;"
      >
        <el-table-column prop="id" label="ID"></el-table-column>
        <el-table-column prop="name" label="姓名"></el-table-column>
        <el-table-column prop="sex" label="性别"></el-table-column>
      </el-table>

默认展示为:
在这里插入图片描述

3.2 整合数据

添加 rowspan标记合并行的位置信息

调整依据: 姓名 && 性别 分别相同的相邻行需要进行合并

// 调整数据
adjusData(){
	let dataSource = [...this.tableData];
	// 注意:此操作为倒序操作
    for (let i = dataSource.length - 1; i > 0; i--) {
      if (!dataSource[i].rowspan) dataSource[i].rowspan = 1; // 默认都是1
      if (
        dataSource[i].name == dataSource[i - 1].name &&
        dataSource[i].sex == dataSource[i - 1].sex
      ) {
        // 主要处理数据的逻辑在这里
        /**
         * 如果满足条件,则上一个数据的rowspan需要进行累加,即为需要进行合并的行数
         * 当前行的rowspan需要重置为0; 0即为需要被合并的单元格
         */
        dataSource[i - 1].rowspan = dataSource[i].rowspan + 1;
        dataSource[i].rowspan = 0;
      }
    }
    // 有可能第一个数据的rowspan为undefined 所以再次处理数据,避免出错
    dataSource = dataSource.map((item, index) => {
      if (index == 0 && !item.rowspan) {
        return {
          ...item,
          rowspan: 1
        };
      }
      return item;
    });
    this.tableData = dataSource;
}

3.3 修改组件

添加一个属性:span-method="objectSpanMethod"
在这里插入图片描述

3.4 合并展示数据

    objectSpanMethod({ row, column, rowIndex, columnIndex }) {
      // 当列索引是1(第二列), 需要设置要合并的列/行
      if (columnIndex === 1) {
        if (row.rowspan > 1) {
          // 当rowspan值不为1,即代表需要进行向下合并 合并行数为当前rowspan
          return {
            rowspan: row.rowspan, // 向下合并rowspan行
            colspan: 1 // 合并1列,即只在当前列操作合并行
          };
        } else if (row.rowspan == 1) {
          // rowspan为1 不作合并操作
          return {
            // 1表示不合并
            rowspan: 1,
            colspan: 1
          };
        } else {
          // 其他行 
          return {
            // 0表示已被合并, 直接不显示
            rowspan: 0,
            colspan: 0
          };
        }
      }
      // 当列索引是2(第三列), 需要设置要合并的列/行
      if (columnIndex === 2) {
        if (row.rowspan != 1) {
          return {
            rowspan: row.rowspan,
            colspan: 1
          };
        } else if (row.rowspan == 1) {
          return {
            rowspan: 1,
            colspan: 1
          };
        } else {
          return {
            rowspan: 0,
            colspan: 0
          };
        }
      }
    }

如此即可!!!

关于HC32F460 输出可调占空比PWM波遇到的问题记录 文章目录问题记录一、问题分析二、解决方法总结 问题记录 芯片:HC32F460系列 功能:PWM电机调速 最近产品开发,需要用到HC32的PWM输出来控制电机的转速。参考官方的例程很快就完成了相关的功能,但是,后面在测试,重复开关电机的时候,发现电机的转速时大时小。 一、问题分析 一开始,怀疑是相关寄存器的设置出错导致的问题。因此在设置PWM输出时加上LOG打印,上机测试并没有发现问题。 用示波器抓取波形,这是正常状态下的波形(上电默认配置成5kHz,70%占空比输出) 这是转速较小时的波形输出 . 阅读详情

相关推荐

vsomeip3 双机通信文件配置

验证环境 vsomeip地址Android运行命令,红色的地方需要和配置文件一样Linux运行命令,红色的地方需要和配置文件一样Linux service配置文件 ,红色的地方需要更改Android client配置文件,红色的地方需要更改,蓝色的地方可不要 ...

m0_37132481的博客 5222

element ui表格合并-vue2

elementui表格合并,关键的是处理数据,通过for循环遍历处理,对需要合并的列的值进行比较,达到合并效果,最后必须将值进行倒序处理否则无效 this.tableData.reverse()运用了官方的方法 :span-method="objectSpanMethod",写在methods方法里面。最后说明一下,方法是我的一个朋友刘总(小刘)帮助下,进一步修改完成的。希望对大家有帮助。

Timi_666的博客 710

Win11系统下Abaqus2022与VS2022+oneAPI2023环境配置全攻略(附VUMAT子程序避坑指南)

本文详细指导在Windows 11系统下,为Abaqus 2022配置Visual Studio 2022与Intel oneAPI 2023的Fortran编译环境,以支持VUMAT等用户子程序开发。内容涵盖软件安装顺序、环境变量关联、快捷方式修改及关键验证步骤,并提供了首个VUMAT子程序的实战编写与模型验证方法,帮助用户高效搭建稳定可靠的仿真开发平台。

pytorch8learner的博客 316

ElementUI 使用Table组件,绘制一个二维表格

elementUI 表格组件的灵活使用,建立二维表格

weixin_53399156的博客 3616

别再死磕NFP了!用Python+遗传算法搞定异形件自动排版(附完整代码)

本文介绍了如何利用Python和遗传算法实现异形件智能排版,解决传统NFP方法计算复杂的问题。通过Shapely库处理几何运算和DEAP库搭建遗传算法框架,结合模拟退火策略避免局部最优,显著提升材料利用率。附完整代码和优化技巧,适用于服装裁剪、金属加工等行业。

weixin_26965807的博客 235

支付宝周期扣款实战:从签约到主动扣款的完整Java代码与避坑指南

本文详细介绍了支付宝周期扣款功能的完整Java实现流程,从协议签约到主动扣款的各个环节,包括业务模型设计、签约接口实现、异步通知处理、主动扣款技术等关键步骤。针对开发中常见的陷阱和问题,提供了实用的避坑指南和代码示例,帮助开发者高效实现连续支付功能,提升用户留存率。

weixin_27199085的博客 374

element的表格横向展示数组如何实现(组合数组)

动态创建健值对,element表格横向展示数据

qq_36821274的博客 5985

【OTDR曲线工具箱】04 批量生成sor文件

软件下载地址:http://120.78.150.214:9999/isora.zip 通过一个测试数据sor文件,批量生成多个测试文件(基于Bellcore GR196及SR-4731标准)。主要考虑哪些问题: 1、sor测试是否符合要求(主要是衰减系数) 2、多个文件的创建时间 3、文件必须随机处理,不要看省去一模一样。 来说说怎么操作的 第一步:选择参考曲线 参考曲线的选择由两种方法:从文件中导入、从曲线库中选择。 其中曲线库分为公共库和个人库两种,平时浏览的sor文件都可以加载到库中。 第二步

夜晚是传说的博客 5266

Vue element ui 前端实现表格合并,实现excel的效果

先看一下效果图 结构就是这样的结构,因为是按照列合并的。 需要填写的那一列的值是要入库,然后前一列的参数就是对应着数据库里边的字段,需要你们根据自己得情况去选择合并。 得到的相应数据,就是一个对象就行,然后对象的每一个属性对应着列填的参数,我这个做的时候没有要求必填项,不过做完了之后提了这个需求,但是问题不大,加一个验证很简单 看一下这是4列 <el-table // 这是因为子任务...

ClamJ092的博客 1373

智算中心建设全流程指南:从规划到落地

智算中心的建设是一个复杂而系统的过程,涉及选址、立项、办理相关手续、设计、土建、机电安装、调试、验收等多个环节。每个环节都需要充分考虑各种因素,并注意相关的事项,以确保智算中心的顺利建设和高效运行

数据中心全生命周期价值管理 3395

从0开始图形学(光栅化)

从0开始图形学

A112459的专栏 2395

< elementUi 表格 合并表格 -- 根据后端数据形成树状表格 >

elementUi Plus + Vue 3 实现后台标签管理表格 树状权限表格

一个平平无奇的技术宅 2462

【WRF-DART第一期】WRF/DART概述

【WRF-DART第一期】WRF/DART概述

WW、forever的博客 107

关于element-ui中Table表格如何合并单元格

element-ui中Table表格如何合并单元格 相信大家在使用element-ui中table组件的时候在boss要求合并单元格时都犯过怵(仅指我这个小白),而element-ui中合并的时候也没有给全解释(也是我的问题),但工作在前,终于通过不懈努力,终于将它搞成功;文章最后贴上源码 第一步 设计师给出的样式 第二步:代码开撸 首先在data中新建变量 data() { retu...

weixin_38516688的博客 2万+

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

element表格实现单元格合并功能

element表格实现单元格合并功能 参考链接:https://www.cnblogs.com/fmixue/p/9469296.html 直接看参考链接的案例吧,那位博主写的比较清楚 实现效果: 数据格式: html内容:建议直接看官网格式 <el-table :data="faultList" :row-clas...

qq_37741863的博客 741

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

element-plus中表格合并

elemant-plus中的表格合并以及小计添加

wangfei0225_的博客 1500

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Element表格之表头合并、行合并和列合并

文章目录一、合并表头二、合并表格行三、合并表格列 最近写vue开发项目的时候,很多地方用到了Element组件中的Table 表格。经过一周的边学边做,我总结了以下三种有关表格的合并方法。 一、合并表头 话不多说,先看效果图: 代码如下: 表格结构如上,其中:header-cell-style对表头做了一些处理。 , headFirst({row, colunm, rowIndex, columnIndex}) { if (rowIndex === 1) {

rayong的博客 2万+

Element表格表头合并技巧

本文介绍了Element UI表格(el-table)单元格合并的实现方法。主要内容包括:1.表头合并的实现,通过headerCellStyle方法设置colSpan和display属性隐藏部分表头;2.表体单元格合并,使用span-method方法和spanArr数组计算需要合并的单元格;3.特定单元格合并,通过rowIndex和columnIndex定位目标单元格;4.常见问题解决,如表头与表格不对齐的三种解决方案。文章提供了详细的代码示例,包括表头合并为"基本信息"、同名列合并等功

var_let_const的博客 2023

element合并表格

合并了id相同的行的数据,仅限第一列

weixin_53248537的博客 876

vue+element 的单列表格合并

前一段时间做项目的时候遇到了这个问题。用element文档里的试了,不可行。 最后百度后找到办法,果然还是广大网友和百度厉害。 效果如下: 代码如下: &lt;el-table :data="allTruckLossData" :span-method="objectSpanMethod" border style="width: 100%;" class="detailTable"&gt; &...

皮皮虾的博客 1451

Element-ui表格合并

Element-ui表格合并,并添加合计、小计功能 #最近Vue项目需要用到表格合并功能、合并小计和合并功能(用于数据的展示),所以进行记录一下,废话少说(本人也是小白),贴图一张(效果图) 首先是贴HTML页面的代码 <template> <div class="container"> <el-table :data="dataT" border :span-method="arraySpanMethod" @selection-

weixin_39246975的博客 555

论element-ui表格的合并行和列(巨细节)

​ 作为一个后端来写前端属实是痛苦、讲真的、刚开始我是真不想用饿了么的这个合并行和列、因为太语焉不详了、看着头疼、后来发现好像我没得选、只好硬着头皮上了。

小邹的博客 2万+

vue element ui合并表格(合并某列的行数据)

需求:按需合并某些列的数据 自定义数据: tableData:[ { num:0, new_subject_name:"new_subject_name1", count1:"count11", percentage1:"percentage11", ...

mournfulman的博客 3357

element-ui 表格 行列的合并

通过给table传入span-method方法可以实现合并行或列,方法的参数是一个对象,里面包含当前行row、当前列column、当前行号rowIndex、当前列号columnIndex四个属性。该函数可以返回一个包含两个元素的数组,第一个元素代表rowspan,第二个元素代表colspan。 也可以返回一个键名为rowspan和colspan的对象。 <el-table :da...

岁末zzz的博客 6143

element表格行合并

效果 ↓ span-method 用法去看element文档,合并第一列的区域字段 <el-table :data="tableData.lgLevelAreaMgmtVOList" :span-method="objectSpanMethod" style="width: 100%;" border empty-text="暂未查到匹配条件的数据" :row-style="{heigh...

weixin_44860425的博客 168

element表格封装2-多级表头、表头合并、行列合并

这次是对上次封装表格的一次升级,增加了多级表头,列合并功能。我将代码和参考文章放在最下面。上面就放一些可能有点重要的废话吧,主要是我的一些总结。可以看看也可以直接滑到下方代码。此次同样只是做个记录,给以后一个方便,因此我也不公开献丑了。如果您能看到,做个参考就行,请勿转载。 效果图: 总结: 关于多级表头,由于代码主要集中在列的位置(尤其是需要递归),因此将表格列单独拿出来封装成了一个组件(MyColumn)。 效果图的第一列也是一个二级表头,此处难点是隐藏二级标题后(display:"no..

长歌的博客 5201
上一篇: 创建全局用户代码块
下一篇: http get方式传递数组?后端接收到的是什么?
Dark_programmer
博客等级 码龄7年 9073粉丝 307原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值