在今天工作中遇到了相同单元格需要合并的一个需求,实现记录如下。

实现效果:

任务要求:

对表中体系这一列相同的体系进行合并。

思路:
定义一个空数组:[]
定义一个变量:0
遍历数据如果有相同数据 在空数组添加一个0(相同数据的起始位加1),不相同在数据push 一个1(变量改成当前索引)

Table部分代码:

 <el-table ref="TaskListDistributionDetailTable" border :data="value.dataList" class="materialInfoTable clear-input-v" :span-method="objectSpanMethod">
<el-table-column type="index" align="center" label="序号" width="60">
<template slot-scope="scope">
{{scope.$index+1}}
</template>
</el-table-column>
<el-table-column align="center" label="体系" min-width="120">
<template slot-scope="scope">
<span>{{scope.row.systemTypeName}}</span>
</template>
</el-table-column>
<el-table-column align="center" label="部门" min-width="120">
<template slot-scope="scope">
<span>{{scope.row.deptName}}</span>
</template>
</el-table-column>
<el-table-column align="left" label="年度考核得分" min-width="100">
<template slot-scope="scope">
<span>{{scope.row.assessmentScore}}</span>
</template>
</el-table-column>
<el-table-column align="left" label="考核排名" min-width="100">
<template slot-scope="scope">
<span>{{scope.row.assessmentRank}}</span>
</template>
</el-table-column>
<el-table-column align="left" label="扣分原因" min-width="300">
<template slot-scope="scope">
<span>{{scope.row.deductionReason}}</span>
</template>
</el-table-column>
<el-table-column align="left" label="备注" min-width="300">
<template slot-scope="scope">
<span>{{scope.row.remark}}</span>
</template>
</el-table-column>
</el-table>

Data部分代码:

  data: function () {
return {
spanArr:[],
};
},
Methods部分代码:
 objectSpanMethod({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 1) {
if(this.spanArr[rowIndex]){
return {
rowspan:this.spanArr[rowIndex],
colspan:1
}
}else{
return {
rowspan: 0,
colspan: 0
}
}
}
},
flitterData:function () {
let contactDot = 0;
let spanArr = [];
$this.value.dataList.forEach((item, index) => {
if (index === 0) {
spanArr.push(1)
} else {
//注释:systemTypeName 是对应体系,value.dataList 对应table绑定的数据源
if (item.systemTypeName === this.value.dataList[index - 1].systemTypeName) {
                                spanArr[contactDot] += 1;
spanArr.push(0)
} else {
contactDot = index
spanArr.push(1)
}
}
})
this.spanArr = spanArr;
},

在合适的地方调用 flitterData方法  即可,我在项目中是获取数据源之后调用的

原文:https://blog.csdn.net/weixin_44202166/article/details/110471420

参考写法,方式调用与原文不同

elementui——表格的相同内容单元格合并的更多相关文章

  1. 解决boostrap-table有水平和垂直滚动条时,滚动条滑到最右边表格标题和内容单元格无法对齐的问题

    问题:boostrap-table有水平和垂直滚动条时,滚动条不高的时候(滚动高度比较大的时候没有问题),滚动条滑到最右边表格标题和内容单元格无法对齐的问题 问题原因:bootstrap-table源 ...

  2. element-ui table 最后一行合计,单元格合并

    接着写两个方法--最后一行合计的方法 --单元格合并的方法 先写一个rowspan方法,计算出spanArr数组是怎么单元格合并的,注意rowspan方法要在渲染完成之前使用,可以在mounted中使 ...

  3. JS:jquery插件表格单元格合并.

    公司需要用到单元格合并,于是动手封装了一个简单的jquery插件,封装的函数是直接写好转的,请多多提意见看代码是否有优化的地方..... 截图: 代码: /* * mergeTable 0.1 * C ...

  4. Qt实现表格控件-支持多级列表头、多级行表头、单元格合并、字体设置等

    目录 一.概述 二.效果展示 三.定制表头 1.重写数据源 2.重写QHeaderView 四.设置属性 五.相关文章 原文链接:Qt实现表格控件-支持多级列表头.多级行表头.单元格合并.字体设置等 ...

  5. PHPWord中文乱码、单元格合并、动态表格模板解决方案合集

    摘要:  最近一个项目开发要用到PHP技术导出Word文档,采用PHPWord插件,版本为0.6.2 beta,CodePlex已停止维护.网上还有另外一个版本的PhpWord,项目类名大小写上略有不 ...

  6. element-ui 格式化树形数组在table组件中展示(单元格合并)

    最近做的项目涉及到很多单元格合并问题,element-ui组件对于单元格合并的处理虽然很灵活,但是需要事先计算好每个单元格合并的rowspan和colspan,直接在span-method属性中计算实 ...

  7. JTable 单元格合并 【转】

    单元格合并 一.单元格合并.(1)我们可以使用Jtable的三个方法:getCellRect(),columnAtPoint(),and rowAtPoint().第一个方法返回一个单元格的边界(Re ...

  8. ExtJS 4.2 Grid组件的单元格合并

    ExtJS 4.2 Grid组件本身并没有提供单元格合并功能,需要自己实现这个功能. 目录 1. 原理 2. 多列合并 3. 代码与在线演示 1. 原理 1.1 HTML代码分析 首先创建一个Grid ...

  9. NPOI 教程 - 2.1单元格合并

    来源:http://liyingchun343333.blog.163.com/blog/static/3579731620091018212990/ 合并单元格在制作表格时很有用,比如说表格的标题就 ...

随机推荐

  1. Docker Swarm(三)Service(服务)分配策略

    Service的分配原則 預設分散至多個nodes上 使用率較低的node優先配置 使用者可自行定義此分配模式 Service分配的3種方式 Service Constraints (服务约束) 参考 ...

  2. 008.Python循环for循环

    for 循环 特指用于遍历容器类型数据,(遍历 循环 迭代 都是一个意思)就是把所有的数据一个一个拿出来的过程, while循环有局限性,不能遍历无序容器数据 setvar = {"a&qu ...

  3. 几种新的MCU开发环境和语言

    https://kuaibao.qq.com/s/20171108A0LQST00?refer=kb_news 桥大学数学科学中心的Damien P. George在研究各种深奥数学.物理问题之余,还 ...

  4. 西门子 S7300 以太网模块连接组态王方法

    北京华科远创科技有限研发的远创智控ETH-YC模块,以太网通讯模块型号有MPI-ETH-YC01和PPI-ETH-YC01,适用于西门子S7-200/S7-300/S7-400.SMART S7-20 ...

  5. 西门子 S7-300 以太网模块连接 WINCC方案

    北京华科远创科技有限研发的远创智控ETH-YC模块,型号有MPI-ETH-YC01和PPI-ETH-YC01,适用于西门子S7-200/S7-300/S7-400.SMART S7-200.西门子数控 ...

  6. ThinkPHP 全局异常处理

    wqy的笔记:http://www.upwqy.com/details/273.html 在thinkphp6 和 thinkphp5 全局异常处理 稍有不同 ThinkPHP6 在 tp6 中 框架 ...

  7. Lua时间互转

    1. 时间戳转成格式化字符串 直接利用函数os.date()将时间戳转化成格式化字符串. local timestamp = 1561636137; local strDate = os.date(& ...

  8. MySQL 主从复制&读写分离 简介

    1. 读写分离&读写分离 简介 主从同步延迟 分配机制 解决单点故障 总结 2. 主从复制&读写分离 搭建 搭建主从复制(双主) 搭建读写分离 1. 读写分离&读写分离 简介 ...

  9. Handler_read_*的总结

    在分析一个SQL的性能好坏时,除了执行计划,另外一个常看的指标是"Handler_read_*"相关变量. Handler_read_key Handler_read_first ...

  10. liunx:网络命令

    现系统的学习一下Web渗透相关的命令 ping ping 命令是用来测试TCP/IP 网络是否畅通或者测试网络连接速度的命令,对确定网络是否正确连接,以及网络连接的状况十分有用.简单的说,ping就是 ...