时间:2021-05-26
先上完成的效果图:列是根据查询结果增加的
数据格式:
表头的数据取出:
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 实现复杂表头和动态增加列的二维表格功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
通过在vue中使用element的table表格,实现数据动态渲染,并且动态渲染表头。通过在父组件中引入子组件表格,然后向子组件传递表格数据和表头数据。子组件t
本文实例为大家分享了vue+elementUI实现树形表格的具体代码,供大家参考,具体内容如下一、在component文件夹下新建如下treeTable文件夹,
vue+elementUI简单的实现日历功能,供大家参考,具体内容如下上一月{{year}}年{{month}}月{{day}}日下一月{{item}}{{it
最近学习和项目都用到了Vue和ElementUI,自己不是专业前端,搞这些UI上的东西还是有些难度,这里推荐两个Vue+ElementUI后台管理模板vue-e
Vue+ElementUI项目中使用vue-pdf实现简单预览,供大家参考,具体内容如下1、安装vue-pdfnpminstall--savevue-pdf2、