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的tree组件
Dec 03 Vue.js
解决vue下载后台传过来的乱码流的问题
Dec 05 Vue.js
vue使用exif获取图片经纬度的示例代码
Dec 11 Vue.js
Vue实现点击当前行变色
Dec 14 Vue.js
vue实现购物车的小练习
Dec 21 Vue.js
vue中封装axios并实现api接口的统一管理
Dec 25 Vue.js
Vue 集成 PDF.js 实现 PDF 预览和添加水印的步骤
Jan 22 Vue.js
使用Vue.js和MJML创建响应式电子邮件
Mar 23 Vue.js
Vue过滤器(filter)实现及应用场景详解
Jun 15 Vue.js
vue代码分块和懒加载非必要资源文件
Apr 11 Vue.js
vue项目配置sass及引入外部scss文件
Apr 14 Vue.js
Vue2项目中对百度地图的封装使用详解
Jun 16 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
php smarty截取中文字符乱码问题?gb2312/utf-8
2011/11/07 PHP
phpmailer发送gmail邮件实例详解
2013/06/24 PHP
php打造智能化的柱状图程序,用于报表等
2015/06/19 PHP
PHP CURL post数据报错 failed creating formpost data
2016/10/16 PHP
一键生成各种尺寸Icon的php脚本(实例)
2017/02/08 PHP
php输出反斜杠的实例方法
2019/09/19 PHP
TypeScript 学习笔记之基本类型
2015/06/19 Javascript
jQuery+CSS3折叠卡片式下拉列表框实现效果
2015/11/02 Javascript
JavaScript仿网易选项卡制作代码
2016/10/06 Javascript
jQuery实现页面顶部下拉广告
2016/12/30 Javascript
JavaScript简单验证表单空值及邮箱格式的方法
2017/01/20 Javascript
使用openSpeDiv方法实现Ecshop登录弹窗框效果
2017/03/13 Javascript
详解Vue-cli webpack移动端自动化构建rem问题
2018/04/07 Javascript
Vue实现双向绑定的原理以及响应式数据的方法
2018/07/02 Javascript
vue观察模式浅析
2018/09/25 Javascript
python抽象基类用法实例分析
2015/06/04 Python
使用tensorflow实现线性svm
2018/09/07 Python
python使用正则表达式(Regular Expression)方法超详细
2019/12/30 Python
keras中的History对象用法
2020/06/19 Python
css3实现简单的白云飘动背景特效
2020/10/28 HTML / CSS
AmazeUI 平滑滚动效果的示例代码
2020/08/20 HTML / CSS
沙特阿拉伯网上购物:Sayidaty Mall
2018/05/06 全球购物
ZWILLING双立人法国网上商店:德国刀具锅具厨具品牌
2019/08/28 全球购物
深圳-东方伟业笔试部分
2015/02/11 面试题
工商管理应届生求职信
2013/10/07 职场文书
网络维护中文求职信
2014/01/03 职场文书
《晚上的太阳》教学反思
2014/04/23 职场文书
优质服务口号
2014/06/11 职场文书
机械工程及其自动化专业求职信
2014/08/08 职场文书
2014年电工工作总结
2014/11/20 职场文书
写给同学的新学期寄语
2015/02/27 职场文书
小人国观后感
2015/06/11 职场文书
收入证明怎么写
2015/06/12 职场文书
幼儿园毕业典礼园长致辞
2015/07/29 职场文书
python解决12306登录验证码的实现
2021/04/18 Python
Java时间工具类Date的常用处理方法
2022/05/25 Java/Android