vue element实现表格合并行数据


Posted in Vue.js onNovember 30, 2020

本文实例为大家分享了vue element实现表格合并行数据的具体代码,供大家参考,具体内容如下

支持不分页的表格数据,分页的表格数据还有小bug

<template>
 <el-container>
 <el-main>
 <el-table
 :data="tableData"
 border
 style="width: 100%"
 :span-method="objectSpanMethod" //添加这个实现行数据合并
 >
 <el-table-column label="序号" prop="id" align="center"></el-table-column>
  <el-table-column label="名字" prop="screenName" align="center"></el-table-column>
  <el-table-column label="时间1" prop="startTime" align="center"></el-table-column>
  <el-table-column label="时间2" prop="endTime" align="center"></el-table-column>
 </el-table>
 </el-main>
 </el-container>
</template>

<script>
export default {
 name: "Formtableyes",
 data() {
 return {
 //合并行
 spanArr: [], //声明一个数组
 tableData: [
 { id: 1, screenName: "LHC", startTime: "12", endTime: "1231" },
 { id: 1, screenName: "LHC", startTime: "12", endTime: "123" }
 ]
 };
 },
 mounted: function() {
 this.tableDatas();  //加载数据就调用该方法
 },
 methods: {
 objectSpanMethod({ row, column, rowIndex, columnIndex }) {
 if (columnIndex === 0) {   //合并第一列
 const _row = this.spanArr[rowIndex];
 const _col = _row > 0 ? 1 : 0;
 return {
  rowspan: _row,
  colspan: _col
 };
 } 
 if (columnIndex === 1) {   //合并第二列
 const _row = this.spanArr[rowIndex];
 const _col = _row > 0 ? 1 : 0;
 return {
  rowspan: _row,
  colspan: _col
 };  
 }     
 // if (columnIndex === 2) {   //合并第三列
 // const _row = this.spanArr[rowIndex];
 // const _col = _row > 0 ? 1 : 0;
 // return {
 // rowspan: _row,
 // colspan: _col
 // };
 // }   
 },
 tableDatas() {
 let contactDot = 0;
 this.tableData.forEach((item, index) => {
 item.index = index;
 if (index === 0) {
  this.spanArr.push(1);
 } else {
  if (item.id === this.tableData[index - 1].id) {
  this.spanArr[contactDot] += 1;
  this.spanArr.push(0);
  } else {
  this.spanArr.push(1);
  contactDot = index;
  }
 }
 });
 },
 
 }
};
</script>
<style scoped>
.ptselect {
 width: 100%;
}
</style>

效果如下:

vue element实现表格合并行数据

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Vue.js 相关文章推荐
在vue中通过render函数给子组件设置ref操作
Nov 17 Vue.js
使用vue编写h5公众号跳转小程序的实现代码
Nov 27 Vue.js
vue 通过base64实现图片下载功能
Dec 19 Vue.js
vue 使用rules对表单字段进行校验的步骤
Dec 25 Vue.js
手写Vue源码之数据劫持示例详解
Jan 04 Vue.js
vue中父子组件的参数传递和应用示例
Jan 04 Vue.js
Vuex实现简单购物车
Jan 10 Vue.js
详解vite+ts快速搭建vue3项目以及介绍相关特性
Feb 25 Vue.js
手写Vue2.0 数据劫持的示例
Mar 04 Vue.js
Vue3.0中Ref与Reactive的区别示例详析
Jul 07 Vue.js
三种方式清除vue路由跳转router-link的历史记录
Apr 10 Vue.js
vue 自定义组件添加原生事件
Apr 21 Vue.js
Vue Elenent实现表格相同数据列合并
Nov 30 #Vue.js
vue中defineProperty和Proxy的区别详解
Nov 30 #Vue.js
详解Vue 的异常处理机制
Nov 30 #Vue.js
ESLint 是如何检查 .vue 文件的
Nov 30 #Vue.js
Vue用mixin合并重复代码的实现
Nov 27 #Vue.js
使用vue编写h5公众号跳转小程序的实现代码
Nov 27 #Vue.js
在Vue中使用CSS3实现内容无缝滚动的示例代码
Nov 27 #Vue.js
You might like
人尽可用的Windows技巧小贴士之下篇
2007/03/22 PHP
PHP中的use关键字概述
2014/07/23 PHP
php实现的mongodb操作类实例
2015/04/03 PHP
PHP实现的敏感词过滤方法示例
2019/03/06 PHP
免费空间广告万能消除代码
2006/09/04 Javascript
XENON基于JSON变种
2010/07/27 Javascript
js/jquery去掉空格,回车,换行示例代码
2013/11/05 Javascript
jquery简单图片切换显示效果实现方法
2015/01/14 Javascript
js实现固定显示区域内自动缩放图片的方法
2015/07/18 Javascript
jQuery实现仿QQ空间装扮预览图片的鼠标提示效果代码
2015/10/30 Javascript
jQuery中on绑定事件后引发的事件冒泡问题如何解决
2016/05/25 Javascript
js判断输入字符串是否为空、空格、null的方法总结
2016/06/14 Javascript
VUE实现一个分页组件的示例
2017/09/13 Javascript
浅析Vue实例以及生命周期
2018/08/14 Javascript
js实现同一个页面,多个enter事件绑定的示例
2018/10/10 Javascript
JavaScript this绑定过程深入详解
2018/12/07 Javascript
Vue实现微信支付功能遇到的坑
2019/06/05 Javascript
VUE:vuex 用户登录信息的数据写入与获取方式
2019/11/11 Javascript
[14:00]DOTA2国际邀请赛史上最长大战 赛后专访B神
2013/08/10 DOTA
用Python中的字典来处理索引统计的方法
2015/05/05 Python
python 移动图片到另外一个文件夹的实例
2019/01/10 Python
python不使用for计算两组、多个矩形两两间的iou方式
2020/01/18 Python
django使用JWT保存用户登录信息
2020/04/22 Python
深入了解Python装饰器的高级用法
2020/08/13 Python
Booking.com美国:全球酒店预订网站
2017/04/18 全球购物
澳大利亚鞋仓库:Shoe Warehouse
2019/07/25 全球购物
Aquatalia官网:意大利著名鞋履品牌
2019/09/26 全球购物
德国滑雪和户外用品网上商店:XSPO
2019/10/30 全球购物
写好自荐信需做到的5要点
2014/03/07 职场文书
一位农村小子的自荐信
2014/04/07 职场文书
2015年大学元旦晚会活动策划书
2014/12/09 职场文书
工程服务质量承诺书
2015/04/29 职场文书
学校推普周活动总结
2015/05/07 职场文书
投资入股协议书
2016/03/22 职场文书
工作计划范文之财务管理
2019/08/09 职场文书
浅谈redis缓存在项目中的使用
2021/05/20 Redis