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

实现效果:

任务要求:

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

思路:
定义一个空数组:[]
定义一个变量: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. dstat命令

    dstat命令 dstat命令是一个用来替换vmstat.iostat.netstat.nfsstat和ifstat这些命令的工具,是一个全能系统信息统计工具.与sysstat相比,dstat拥有一个 ...

  2. Java并发:ThreadLocal的简单介绍

    作者:汤圆 个人博客:javalover.cc 前言 前面在线程的安全性中介绍过全局变量(成员变量)和局部变量(方法或代码块内的变量),前者在多线程中是不安全的,需要加锁等机制来确保安全,后者是线程安 ...

  3. log4j 日志文件(Day_19)

    详细  :   https://www.cnblogs.com/liaojie970/p/7634838.html log4j  日志文件 1 log4j.rootLogger=debug,CONSO ...

  4. Nacos源码结构和AP模式注册中心实现介绍

    前言 NacosAP模式源码分析目录 微服务下的注册中心如何选择 Nacos使用和注册部分源码介绍 Nacos服务心跳和健康检查源码介绍 Nacos服务发现 Nacos源码结构介绍 Nacos版本基于 ...

  5. django2中namespace和name的使用

    django2中namespace和name的使用   一.在Django <= 1.11 我们通过关键词namespace参数定义名称空间 1.projects/urls.py   from ...

  6. Python+Selenium学习笔记4 - submit&get_attribute

    1.submit() submit()方法用于提交表单.如在搜索框输入关键字后按回车键进行查询操作,就可用submit()方法模拟.若不能按回车键进入下一步,则不能用submit()举例,百度的查询提 ...

  7. TensorFlow之keras.layers.Conv2D( )

    keras.layers.Conv2D( ) 函数参数 def __init__(self, filters, kernel_size, strides=(1, 1), padding='valid' ...

  8. TensorFlow优化器及用法

    TensorFlow优化器及用法 函数在一阶导数为零的地方达到其最大值和最小值.梯度下降算法基于相同的原理,即调整系数(权重和偏置)使损失函数的梯度下降. 在回归中,使用梯度下降来优化损失函数并获得系 ...

  9. 5G和AI机器人平台为工业4.0和无人机提供服务

    5G和AI机器人平台为工业4.0和无人机提供服务 Qualcomm 5G and AI robotics platform delivers for Industry 4.0 and drones 高 ...

  10. Nucleus 实时操作系统中断(下)

    Nucleus 实时操作系统中断(下) Nucleus RTOS兼容性 由于中断在Nucleus SE中的实现方式与Nucleus rto截然不同,因此不应期望有特定的兼容性.Nucleus RTOS ...