欢迎来到代码驿站!

vue

当前位置:首页 > 网页前端 > vue

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

时间:2021-03-01 13:45:01|栏目:vue|点击:

本文实例为大家分享了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-cli3.0使用及部分配置详解

栏    目:vue

下一篇:使用Webpack提升Vue.js应用程序的4种方法(翻译)

本文标题:Vue Elenent实现表格相同数据列合并

本文地址:http://www.codeinn.net/misctech/72376.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有