Vue+elementui 实现复杂表头和动态增加列的二维表格功能
2020-03-11 17:11
2031 查看
先上完成的效果图:列是根据查询结果增加的
数据格式:
表头的数据取出:
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 实现复杂表头和动态增加列的二维表格功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
您可能感兴趣的文章:
相关文章推荐
- Vue+element-ui 实现表格的分页功能示例
- vue实现element表格里表头信息提示功能(推荐)
- 基于Vue+elementUI实现动态表单的校验功能(根据条件动态切换校验格式)
- Vue+Element UI+Lumen实现通用表格分页功能
- vue+element UI实现表格中动态添加开关控制按钮
- element-ui表格多选实现翻页选择记忆功能
- VUE+Element UI实现简单的表格行内编辑效果
- VUE 使用 element-ui 的 el-autocomplete 组件实现输入框自动提示查询功能 超简单!!!
- element-ui 动态表头渲染表格
- vue+element实现表格新增、编辑、删除功能
- Vue Element UI + OSS实现上传文件功能
- vue+ElementUI实现订单页动态添加产品数据效果实例代码
- Vue+ElementUI 完整增删查改验证功能的表格
- vue element ui table 过滤功能实现
- vue-cli-element-ui-table-表格分页功能切换数据后@current-change失效的解决方案
- Vue+ElementUI table实现表格分页
- vue+element UI实现树形表格
- Vue + Element UI 实现权限管理系统 前端篇(十):动态加载菜单
- Vue+ElementUI使用vue-pdf实现预览功能
- element ui table(表格)实现点击一行展开功能