Vue+elementui 实现复杂表头和动态增加列的二维表格功能


Posted in Javascript onSeptember 23, 2019

先上完成的效果图:列是根据查询结果增加的

Vue+elementui 实现复杂表头和动态增加列的二维表格功能

 数据格式:

Vue+elementui 实现复杂表头和动态增加列的二维表格功能

 表头的数据取出:

data.data.forEach(element => {
   this.thead.push({
   品名: element.品名,
   面取数: element.面取数,
   LOTNO: element.LOT
   });

 element table中:

<el-table-column
 v-for="(item,index) in thead"
 :prop="item.LOTNO"
 :key="index"
 align="center"
 width="180"
>
 <template slot="header">
 <tr>
  <td>{{item.品名}}</td>
 </tr>
 <tr>
  <td>{{item.面取数}}</td>
 </tr>
 <tr>
  <td @click="querylot(item.LOTNO)">
  <el-link>{{item.LOTNO}}</el-link>
  </td>
 </tr>
 </template>
</el-table-column>

表格内数据整理:

for (let index1 = 3;index1 < Object.keys(结果_data[0]).length;index1++) {
  let newmap = new Map();
  let datakey = Object.keys(结果_data[0])[index1];
  newmap.set("mode", datakey); //取出每个数组对象的键值
  for (let index2 = 0; index2 < 结果_data_length; index2++) {
   let datavalue = 结果_data[index2][Object.keys(结果_data[0])[index1]];
   if (datakey == "投入日期") {
   datavalue = datavalue.slice(0, 10);
   }
   newmap.set(
   结果_data[index2][Object.keys(结果_data[index2])[0]],datavalue);//获得这个键对应的所有的值
  }

左侧表头合并:需要注意的是,当有固定列的时候需要设置表格的max-height属性,不然会出现列空白

<el-table :data="tableData" span-method="objectSpanMethod">

objectSpanMethod({ row, column, rowIndex, columnIndex }) {
  if (columnIndex === 0) {
  if (rowIndex % this.tableData.length === 0) {
   return {
   rowspan: this.tableData.length,
   colspan: 1
   };
  } else {
   return {
   rowspan: 0,
   colspan: 0
   };
  }
  }
 }

表格导出:

import FileSaver from "file-saver";
import XLSX from "xlsx";
 output() {
  alert(1);
  let wb = XLSX.utils.table_to_book(document.querySelector("#mytable")); //mytable为表格的id名
  let wbout = XLSX.write(wb, {
  bookType: "xlsx",
  bookSST: true,
  type: "array"
  });
  try {
  FileSaver.saveAs(
   new Blob([wbout], { type: "application/octet-stream" }),
   "sheet.xlsx"
  );
  } catch (e) {
  if (typeof console !== "undefined") console.log(e, wbout);
  }
  return wbout;
 }

总结

以上所述是小编给大家介绍的Vue+elementui 实现复杂表头和动态增加列的二维表格功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
背景图跟随鼠标移动的Mootools插件实现代码
Dec 12 Javascript
document.write()及其输出内容的样式、位置控制
Aug 12 Javascript
JavaScript中的acos()方法使用详解
Jun 14 Javascript
js封装tab标签页实例分享
Dec 19 Javascript
ajax与json 获取数据并在前台使用简单实例
Jan 19 Javascript
JS判断键盘是否按的回车键并触发指定按钮点击操作的方法
Feb 13 Javascript
从零开始学习Node.js系列教程之SQLite3和MongoDB用法分析
Apr 13 Javascript
基于JavaScript实现微信抢红包功能
Jul 20 Javascript
JS实现520 表白简单代码
May 21 Javascript
JS实现的合并两个有序链表算法示例
Feb 25 Javascript
详解关于表格合并span-method方法的补充(表格数据由后台动态返回)
May 21 Javascript
JavaScript实现的开关灯泡点击切换特效示例
Jul 08 Javascript
优雅的使用javascript递归画一棵结构树示例代码
Sep 22 #Javascript
Webpack按需加载打包chunk命名的方法
Sep 22 #Javascript
jquery.tagsinput.js实现记录checkbox勾选的顺序
Sep 21 #jQuery
vue2.0+SVG实现音乐播放圆形进度条组件
Sep 21 #Javascript
js+springMVC 提交数组数据到后台的实例
Sep 21 #Javascript
jquery弹窗时禁止body滚动条滚动的例子
Sep 21 #jQuery
vue实现文件上传读取及下载功能
Nov 17 #Javascript
You might like
php的正则处理函数总结分析
2008/06/20 PHP
Zend Framework页面缓存实例
2014/06/25 PHP
PHP实现模拟http请求的方法分析
2017/12/20 PHP
PHP常用字符串函数小结(推荐)
2018/08/05 PHP
php使用fullcalendar日历插件详解
2019/03/06 PHP
JS删除数组元素的函数介绍
2013/03/27 Javascript
使用Java实现简单的server/client回显功能的方法介绍
2013/05/03 Javascript
js实现简单的购物车有图有代码
2014/05/26 Javascript
jquery弹出遮掩层效果【附实例代码】
2016/04/28 Javascript
用vue和node写的简易购物车实现
2017/04/25 Javascript
vue+vue-validator 表单验证功能的实现代码
2017/11/13 Javascript
解决使用Vue.js显示数据的时,页面闪现原始代码的问题
2018/02/11 Javascript
vue.config.js常用配置详解
2019/11/14 Javascript
vue基于Echarts的拖拽数据可视化功能实现
2020/12/04 Vue.js
jQuery实现动态向上滚动
2020/12/21 jQuery
[02:48]DOTA2超级联赛专访海涛:你们的选择没有错
2013/06/07 DOTA
Windows下Python2与Python3两个版本共存的方法详解
2017/02/12 Python
Python利用Django如何写restful api接口详解
2018/06/08 Python
python3模拟实现xshell远程执行liunx命令的方法
2019/07/12 Python
Python爬虫实现的根据分类爬取豆瓣电影信息功能示例
2019/09/15 Python
使用PyTorch训练一个图像分类器实例
2020/01/08 Python
Python TestSuite生成测试报告过程解析
2020/07/23 Python
django inspectdb 操作已有数据库数据的使用步骤
2021/02/07 Python
伦敦剧院门票:London Theatre Direct
2018/11/21 全球购物
嘻哈珠宝品牌:KRKC&CO
2020/10/19 全球购物
微型企业创业投资计划书
2014/01/10 职场文书
管理失职检讨书
2014/02/12 职场文书
公司门卫工作职责
2014/06/28 职场文书
超市优秀员工获奖感言
2014/08/15 职场文书
2014年语文教研组工作总结
2014/12/06 职场文书
2015年医德考评自我评价
2015/03/03 职场文书
四十年同学聚会致辞
2015/07/28 职场文书
教师教育教学随笔
2015/08/15 职场文书
协议书格式模板
2016/03/24 职场文书
《学会生存》读后感3篇
2019/12/09 职场文书
浅谈PostgreSQL表分区的三种方式
2021/06/29 PostgreSQL