一、合并效果

二全部代码
<template><div class="table-wrap"><el-table:data="tableData":span-method="handleSpanMethod":cell-style="{ background: '#FFFFFF' }"border><el-table-column prop="id" label="id" align="center" /><el-table-column prop="name" label="名称" align="center" /><el-table-column prop="amount1" label="身高" align="center" /><el-table-column prop="amount2" label="体脂" align="center" /><el-table-column prop="amount3" label="年龄" align="center" /></el-table></div>
</template><script>
export default {name: 'CellMerge',data() {return {tableData: [{id: '1',name: '王小虎',amount1: '165',amount2: '3.2',amount3: 10}, {id: '1',name: '王小虎',amount1: '162',amount2: '4.43',amount3: 12}, {id: '1',name: '王we虎',amount1: '621',amount2: '1.9',amount3: 9}, {id: '2',name: '王we虎',amount1: '621',amount2: '2.2',amount3: 17}, {id: '3',name: '王小虎',amount1: '621',amount2: '4.1',amount3: 15}],// 合并单元格column1Arr: [], // column1column1Index: 0, // column1索引column2Arr: [], // column2column2Index: 0, // column2索引column3Arr: [], // column3column3Index: 0, // column3索引}},mounted(){this.mergeTable(this.tableData)},methods: {// 合并表格mergeTable(data) {if (data.length > 0) {for (var i = 0; i < data.length; i++) {if (i === 0) {// 第一行必须存在,以第一行为基准this.column1Arr.push(1) // column1this.column1Index = 0this.column2Arr.push(1) // column2this.column2Index = 0this.column3Arr.push(1) // column3this.column3Index = 0} else {// 判断当前元素与上一元素是否相同// column1if (data[i].id === data[i - 1].id ) {this.column1Arr[this.column1Index] += 1this.column1Arr.push(0)} else {this.column1Arr.push(1)this.column1Index = i}// column2if (data[i].name === data[i - 1].name && data[i].id === data[i - 1].id ) {this.column2Arr[this.column2Index] += 1this.column2Arr.push(0)} else {this.column2Arr.push(1)this.column2Index = i}// column3if (data[i].amount1 === data[i - 1].amount1  && data[i].name === data[i - 1].name&& data[i].id === data[i - 1].id ) {this.column3Arr[this.column3Index] += 1this.column3Arr.push(0)} else {this.column3Arr.push(1)this.column3Index = i}}}}},handleSpanMethod({ row, column, rowIndex, columnIndex }) {if (columnIndex === 0) {// 第一列 column1const _row_1 = this.column1Arr[rowIndex]const _col_1 = _row_1 > 0 ? 1 : 0return {rowspan: _row_1,colspan: _col_1}} else if (columnIndex === 1) {// 第二列 column2const _row_2 = this.column2Arr[rowIndex]const _col_2 = _row_2 > 0 ? 1 : 0return {rowspan: _row_2,colspan: _col_2}} else if (columnIndex === 2) {// 第二列 column2const _row_3 = this.column3Arr[rowIndex]const _col_3 = _row_3 > 0 ? 1 : 0return {rowspan: _row_3,colspan: _col_3}} }}
}
</script>
<style>
</style>

vue项目element-ui的table表格单元格合并相关推荐

  1. Layui table表格单元格合并问题

    Layui table表格单元格合并 人丑话不多, 直接上方法: /*** * @param fieldName 要合并列的field属性值* @param index 表格的索引值 从1开始* @d ...

  2. table表格单元格合并,(自定义)

    效果图: <template><div class="table"><table border="1" cellspacing=& ...

  3. Element UI 之table表格表头过长使用点点…显示,并添加鼠标移入悬浮显示

    Element UI 之table表格表头过长使用点点-显示,并添加鼠标移入悬浮显示 需求 鼠标移入表头 关键点: 1.样式中添加:(如果在scope中会不起作用) .el-table .cell { ...

  4. iview table 求和_iView table 实现单元格合并

    前言 当前问题使用的ivew 版本:3.4.2 后续版本可能会实现相关功能,请留意官方文档. 背景 最近做的项目使用的是iView框架,有个需求是要对iView的table进行单元格合并,但是iVie ...

  5. elementUI——表格单元格合并——技能提升

    elementUI--表格单元格合并--技能提升 之前写过一个关于单元格合并的功能,要求根据某一个参数比如序号,如果同一个序号下的某些参数前后的数据一致,则需要实现单元格的合并. 效果图如下: 还有一 ...

  6. Element UI Element Plus之改变表格单元格颜色

    首先官网文档中有 Table 表格 组件的属性说明,只需要在el-table标签中加上:cell-style="xxx",以及实现该方法即可.Element UI框架和Elemen ...

  7. table表格单元格padding_html表格单元格间距

    html中单元格间距与单元格边距的区别就是cellspacing和cellpadding之间的区别,赐教. 定义和用法 cellSpacing 属性可设置或返回在表格中的单元格之间的空白量(以像素为单 ...

  8. iview table表格单元格的动态合并

    1. 需求 需要将从后台获取的数据,在前端渲染时,如果同一列相邻的数据相同,则合并成一个单元格. 即: 需要将上图两个单元格合并,成果图如下 2. 问题 本项目使用的是iview组件,iview组件也 ...

  9. 表格table及单元格合并

    表格table 表格常用标签: table:表格 th:表头 tr:表格行 td:单元格数据 注意:boder:1; 给表格加边框. 表格常用CSS样式: boder-collpase:collpas ...

最新文章

  1. 荣之联“云桥OneBridge”让IT运维事半功倍
  2. 据说腾讯的算法高手都是C++背景
  3. 阿里云提示WordPress“/wp-includes/http.php输入IP验证不当”的解决办法
  4. Flex 学习笔记------as 与 js 的通信
  5. php json.parse,JSON.parse()与JSON.stringify()和eval()使用方法详解
  6. 软件构造学习笔记-第三周
  7. C语言数组越界导致无限循环
  8. Vray材质学习笔记08——陶瓷材质
  9. 实时操作系统和分时操作系统的区别
  10. Google Bigtable (中文版)
  11. 时序分析基本概念介绍Scenario
  12. BeanUtils介绍
  13. BVR、RV、BV电线三者区别
  14. 每日科创板之729:首批25股全线上涨 晶晨股份柏楚电子申购
  15. java wssocket close_javax.websocket.Session的一个close异常记录
  16. 计算机网络——TCP的流量控制
  17. 百度网盘上传文件超过4G,只需一个工具即可免费上传
  18. php 查询同一张表相同数据,SQL查出一张表中重复的所有记录数据
  19. 读取properties配置文件信息
  20. oracle clog读取 php,Spring+Hibernate中处理Oracle的BLOG和CLOG字段

热门文章

  1. Cocos2d-x初入学堂(12)--CCTMXTiledMap和CCTileMapAtlas拼地图
  2. 通过 useExtendedLib 扩展库的方式引入 WeUI
  3. 作为游戏动漫爱好者,我们应该如何学习制作3D游戏动漫建模?
  4. php实现支付宝支付(沙箱测试)
  5. PE 019 Counting Sundays
  6. Android小Demo——通过MQTT协议连接OneNet平台(新版)
  7. 2019c语言程序设计试题答案,2019年C语言程序设计期末考试试题及其答案【Word版资料】...
  8. 一种火焰shader的实现
  9. 分析师眼中的盖茨:堪比汽车大王亨利·福特
  10. java 毫秒转分钟和秒_如何在Java中将毫秒转换为“X分钟,x秒”?