Vue Elenent实现表格相同数据列合并


Posted in Vue.js onNovember 30, 2020

本文实例为大家分享了Vue Elenent实现表格相同数据列合并的具体代码,供大家参考,具体内容如下

作者:秋名

思路:后台查询表格数据,查询出来后直接传到前端,前端通过foreach循环,然后对相同的表格进行合并。(同一个表格,但是每一行,固定一列的数据都相同,即可使用合并单元格,做到了既美观,也清晰。)

template:

<el-table
 :span-method="objectSpanMethod4" //在el-table里面添加合并单元格属性
 >

Js:

data(){
return{
 orderdata:null,// 后端将数据查询出来后,绑定到orderdata里面
}
},
 methods: {
flitterData4(){
  let spanOneArr = []
  let concatOne = 0
  //let spanOneArr1 = []
  //let concatOne1 = 0
  this.orderdata.forEach((item,index)=>{//循环后端查询出来的数据(orderdata)
  if(index === 0){
   spanOneArr.push(1)
  }else{
   //name 修改
   if(item.ENTERNAME === this.orderdata[index - 1].ENTERNAME){ //第一列需合并相同内容的字段
   spanOneArr[concatOne] += 1
   spanOneArr.push(0)
   }else{
   spanOneArr.push(1)
   concatOne = index
   }
   //if(item.coachName === this.coachdata[index - 1].coachName){ //第二列需合并相同内容的判断条件
   //spanOneArr1[concatOne1] += 1
   //spanOneArr1.push(0)
   //}else{
   //spanOneArr1.push(1)
   //concatOne1 = index
   // }
  }
  })
  return {
  one: spanOneArr,
  //two:spanOneArr1
  }
 },
 objectSpanMethod4({row, column, rowIndex, columnIndex}){
  if(columnIndex === 0 ) {
  // this.tableData 修改
  const _row = (this.flitterData4(this.tableData).one)[rowIndex]
  const _col = _row > 0 ? 1 : 0
  return {
   rowspan: _row,
   colspan: _col
  }
  }
  //判断是否是第二列,如果是就将第二列相同字段进行合并
  //if(columnIndex === 1) {
  // const _row = (this.flitterData(this.tableData).two)[rowIndex]
  // const _col = _row > 0 ? 1 : 0
  // return {
   // rowspan: _row,
  // colspan: _col
  // }
  }
 },
 }

效果图:

Vue Elenent实现表格相同数据列合并

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

Vue.js 相关文章推荐
springboot+vue实现文件上传下载
Nov 17 Vue.js
Vue解决移动端弹窗滚动穿透问题
Dec 15 Vue.js
vuex的使用步骤
Jan 06 Vue.js
Vue多选列表组件深入详解
Mar 02 Vue.js
深入理解Vue的数据响应式
May 15 Vue.js
vue2实现provide inject传递响应式
May 21 Vue.js
vue-cropper组件实现图片切割上传
May 27 Vue.js
Vue中插槽slot的使用方法与应用场景详析
Jun 08 Vue.js
Vue.js中v-for指令的用法介绍
Mar 13 Vue.js
深入讲解Vue中父子组件通信与事件触发
Mar 22 Vue.js
vue中this.$http.post()跨域和请求参数丢失的解决
Apr 08 Vue.js
vue实现简易音乐播放器
Aug 14 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
vuex的数据渲染与修改浅析
Nov 26 #Vue.js
You might like
用PHP生成自己的LOG文件
2006/10/09 PHP
杏林同学录(一)
2006/10/09 PHP
Blitz templates 最快的PHP模板引擎
2010/04/06 PHP
PHP 网络开发详解之远程文件包含漏洞
2010/04/25 PHP
Laravel 4 初级教程之Pages、表单验证
2014/10/30 PHP
PHP使用DOM和simplexml读取xml文档的方法示例
2017/02/08 PHP
PHP7扩展开发之hello word实现方法详解
2018/01/15 PHP
PHP读取XML文件的方法实例总结【DOMDocument及simplexml方法】
2019/09/10 PHP
win10下 php安装seaslog扩展的详细步骤
2020/12/04 PHP
js获取div高度的代码
2008/08/09 Javascript
JQuery 引发两次$(document.ready)事件
2010/01/15 Javascript
js中巧用cssText属性批量操作样式
2011/03/13 Javascript
将nodejs打包工具整合到鼠标右键的方法
2013/05/11 NodeJs
jquery实现聚光灯效果的方法
2015/02/06 Javascript
JS控制页面跳转时未请求要跳转的地址怎么回事
2016/10/14 Javascript
VsCode新建VueJs项目的详细步骤
2017/09/23 Javascript
js+html5生成自动排列对话框实例
2017/10/09 Javascript
通俗易懂地解释JS中的闭包
2017/10/23 Javascript
JavaScript实现写入文件到本地的方法【基于FileSaver.js插件】
2018/03/15 Javascript
教你搭建按需加载的Vue组件库(小结)
2019/07/29 Javascript
JavaScript enum枚举类型定义及使用方法
2020/05/15 Javascript
[09:13]DOTA2-DPC中国联赛 正赛 Ehome vs Magma 选手采访 1月19日
2021/03/11 DOTA
Python代码调试的几种方法总结
2015/04/15 Python
Python温度转换实例分析
2018/01/17 Python
python逆序打印各位数字的方法
2018/06/25 Python
python+flask实现API的方法
2018/11/21 Python
Python分支语句与循环语句应用实例分析
2019/05/07 Python
彻底弄明白CSS3的Media Queries(跨平台设计)
2010/07/27 HTML / CSS
类的核心特性有哪些
2014/01/01 面试题
电子商务专业个人的自我评价分享
2013/10/29 职场文书
骨干教师培训感言
2014/01/16 职场文书
法律专业学生的自我评价
2014/02/07 职场文书
公司员工离职感言
2015/08/03 职场文书
安全学习心得体会范文
2016/01/18 职场文书
品牌形象定位,全面分析
2019/07/23 职场文书
铁头也玩根德 YachtBoy YB-230......
2022/04/05 无线电