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在图片上传的时候压缩图片
Nov 18 Vue.js
vue 获取到数据但却渲染不到页面上的解决方法
Nov 19 Vue.js
Vue开发中常见的套路和技巧总结
Nov 24 Vue.js
Vue实现手机号、验证码登录(60s禁用倒计时)
Dec 19 Vue.js
vue 实现基础组件的自动化全局注册
Dec 25 Vue.js
vue-video-player 断点续播的实现
Feb 01 Vue.js
学习 Vue.js 遇到的那些坑
Feb 02 Vue.js
vue 使用 v-model 双向绑定父子组件的值遇见的问题及解决方案
Mar 01 Vue.js
关于vue中如何监听数组变化
Apr 28 Vue.js
解决vue $http的get和post请求跨域问题
Jun 07 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
PHP把数字转成人民币大写的函数分享
2014/06/30 PHP
php读取der格式证书乱码解决方法
2015/06/22 PHP
PHP翻页跳转功能实现方法
2020/11/30 PHP
thinkPHP实现递归循环栏目并按照树形结构无限极输出的方法
2016/05/19 PHP
基于jQueryUI和Corethink实现百度的搜索提示功能
2016/11/09 PHP
CI框架入门之MVC简单示例
2016/11/21 PHP
PHP简单获取随机数的常用方法小结
2017/06/07 PHP
破解Session cookie的方法
2006/07/28 Javascript
JQuery学习笔记 nt-child的使用
2011/01/17 Javascript
Jquery网页出现的乱码问题的三种解决方法
2013/06/30 Javascript
jQuery选择器简明总结(含用法实例,一目了然)
2014/04/25 Javascript
JavaScript数组常用操作技巧汇总
2014/11/17 Javascript
全面解析Bootstrap手风琴效果
2020/04/17 Javascript
轻松掌握JavaScript装饰者模式
2016/08/27 Javascript
JavaScript实现Java中Map容器的方法
2016/10/09 Javascript
使用开源工具制作网页验证码的方法
2016/10/17 Javascript
js中Number数字数值运算后值不对的解决方法
2017/02/28 Javascript
webpack配置文件和常用配置项介绍
2017/04/28 Javascript
vue mixins组件复用的几种方式(小结)
2017/09/06 Javascript
微信小程序实现左滑修改、删除功能
2020/10/19 Javascript
JavaScript ES2019中的8个新特性详解
2019/02/20 Javascript
Python如何判断数独是否合法
2016/09/08 Python
Python实现的圆形绘制(画圆)示例
2018/01/31 Python
Python实现的企业粉丝抽奖功能示例
2019/07/26 Python
详解Python 最短匹配模式
2020/07/29 Python
全球高级音频和视频专家:HiDef Lifestyle
2019/08/02 全球购物
serialVersionUID具有什么样的特征
2014/02/20 面试题
博士研究生自我鉴定范文
2013/12/04 职场文书
汽车专业人才自我鉴定范文
2013/12/29 职场文书
小学教师听课制度
2014/02/01 职场文书
网吧七夕活动策划方案
2014/08/31 职场文书
行政文员岗位职责
2015/02/04 职场文书
2015年消费者权益日活动总结
2015/02/09 职场文书
基层党建工作简报
2015/07/21 职场文书
公文写作:新员工转正申请书范本3篇!
2019/08/07 职场文书
浅析InnoDB索引结构
2021/04/05 MySQL