elementui——表格的相同内容单元格合并
在今天工作中遇到了相同单元格需要合并的一个需求,实现记录如下。
实现效果:

任务要求:
对表中体系这一列相同的体系进行合并。
思路:
定义一个空数组:[]
定义一个变量: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:[],
};
},
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——表格的相同内容单元格合并的更多相关文章
- 解决boostrap-table有水平和垂直滚动条时,滚动条滑到最右边表格标题和内容单元格无法对齐的问题
问题:boostrap-table有水平和垂直滚动条时,滚动条不高的时候(滚动高度比较大的时候没有问题),滚动条滑到最右边表格标题和内容单元格无法对齐的问题 问题原因:bootstrap-table源 ...
- element-ui table 最后一行合计,单元格合并
接着写两个方法--最后一行合计的方法 --单元格合并的方法 先写一个rowspan方法,计算出spanArr数组是怎么单元格合并的,注意rowspan方法要在渲染完成之前使用,可以在mounted中使 ...
- JS:jquery插件表格单元格合并.
公司需要用到单元格合并,于是动手封装了一个简单的jquery插件,封装的函数是直接写好转的,请多多提意见看代码是否有优化的地方..... 截图: 代码: /* * mergeTable 0.1 * C ...
- Qt实现表格控件-支持多级列表头、多级行表头、单元格合并、字体设置等
目录 一.概述 二.效果展示 三.定制表头 1.重写数据源 2.重写QHeaderView 四.设置属性 五.相关文章 原文链接:Qt实现表格控件-支持多级列表头.多级行表头.单元格合并.字体设置等 ...
- PHPWord中文乱码、单元格合并、动态表格模板解决方案合集
摘要: 最近一个项目开发要用到PHP技术导出Word文档,采用PHPWord插件,版本为0.6.2 beta,CodePlex已停止维护.网上还有另外一个版本的PhpWord,项目类名大小写上略有不 ...
- element-ui 格式化树形数组在table组件中展示(单元格合并)
最近做的项目涉及到很多单元格合并问题,element-ui组件对于单元格合并的处理虽然很灵活,但是需要事先计算好每个单元格合并的rowspan和colspan,直接在span-method属性中计算实 ...
- JTable 单元格合并 【转】
单元格合并 一.单元格合并.(1)我们可以使用Jtable的三个方法:getCellRect(),columnAtPoint(),and rowAtPoint().第一个方法返回一个单元格的边界(Re ...
- ExtJS 4.2 Grid组件的单元格合并
ExtJS 4.2 Grid组件本身并没有提供单元格合并功能,需要自己实现这个功能. 目录 1. 原理 2. 多列合并 3. 代码与在线演示 1. 原理 1.1 HTML代码分析 首先创建一个Grid ...
- NPOI 教程 - 2.1单元格合并
来源:http://liyingchun343333.blog.163.com/blog/static/3579731620091018212990/ 合并单元格在制作表格时很有用,比如说表格的标题就 ...
随机推荐
- swagger上的接口写入数据库
一.依赖 virtualenv -p python3.6 xx pip install scrapy pip install pymysql 二. 1.创建项目和spider1 scrapy star ...
- 012.Kubernetes的configmap和secret配置
使用configmap对多有的配置文件进行统一管理 一 configmap配置管理 1.1 检查mysql的配置 [root@docker-server1 storage]# kubectl get ...
- Java EnumMap 实现类
EnumMap 实现类 因为 HashMap 是一种通过对 key 计算 hashCode(),通过空间换时间的方式,直接定位到 value 所在的内部数组的索引,因此,查找效率非常高. 如果作为 k ...
- 11.7 iostat: I/O信息统计
iostat是I/O statistics(输入/输出统计)的缩写,其主要功能是对系统的磁盘I/O操作进行监视.它的输出主要是显示磁盘读写操作的统计信息,同时也会给出CPU的使用情况.同vmstat命 ...
- Linux中级之lvs三个模式的图像补充(nat,dr,tun)
负载均衡(Load Balance)集群提供了一种廉价.有效.透明的方法,来扩展网络设备和服务器的负载.带宽.增加吞吐量.加强网络数据处理能力.提高网络的灵活性和可用性. (1)单台计算机无法承受大规 ...
- MyBatis 单表CURD操作(五)
MyBatis的CURD操作 添加CURD接口方法 package mapper; import entity.UserEntity; import org.apache.ibatis.annotat ...
- HarmonyOS去除页面顶部title的方式
在config.json文件中module节点中添加如下代码 "metaData":{ "customizeData":[ { "name" ...
- 灵动微电子ARM Cortex M0 MM32F0010 UART1和UART2中断接收数据
灵动微电子ARM Cortex M0 MM32F0010 UART1和UART2中断接收数据 目录: 1.MM32F0010UART简介 2.MM32F0010UART特性 3.MM32F0010使用 ...
- 【MybatisPlus】数据库的datetime类型字段为空的时候,报错空指针?
一.发现经历 事情是这样的,我今天本来要演示系统,就去前端同学的页面上点一点.不小心点到了其他同事编写的服务,然后界面就报错了.这给我吓得,这还能演示吗这.然后,我就去服务器查看了一下日志,发现了如下 ...
- 使用Apache TVM将机器学习编译为WASM和WebGPU
使用Apache TVM将机器学习编译为WASM和WebGPU TLDR 在Apache TVM深度学习编译器中引入了对WASM和WebGPU的支持.实验表明,在将模型部署到Web时,TVM的WebG ...