欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > 纵向合并单元格——table

纵向合并单元格——table

2024/10/25 2:23:57 来源:https://blog.csdn.net/weixin_43848576/article/details/141685328  浏览:    关键词:纵向合并单元格——table

在这里插入图片描述

  • 将list数据处理成tableDate格式,id重复的数据,只有第一项有num字段(num是重复的个数)
  • 渲染表格,纵向合并第1、2、6列,id相同的合并
<template><div><el-table:data="tableData":span-method="objectSpanMethod"borderstyle="width: 60%; margin: 20px"><el-table-column prop="id" label="ID" width="180"> </el-table-column><el-table-column prop="num" label="num" width="180"> </el-table-column><el-table-column prop="name" label="姓名"> </el-table-column><el-table-column prop="amount1" label="数值 1(元)"> </el-table-column><el-table-column prop="amount2" label="数值 2(元)"> </el-table-column><el-table-column prop="amount3" label="数值 3(元)"> </el-table-column></el-table></div>
</template><script>
export default {data() {return {list: [{id: "1",num: 3,car: [{name: "大萨达",amount1: 22,amount2: 1000,},{name: "大萨达",amount1: 22,amount2: 1000,},{name: "大萨达",amount1: 22,amount2: 1000,},],amount3: 3,},{id: "2",num: 2,car: [{name: "大萨达",amount1: 22,amount2: 1000,},{name: "大萨达",amount1: 22,amount2: 1000,},],amount3: 3,},{id: "3",num: 1,car: [{name: "大萨达",amount1: 22,amount2: 1000,},],amount3: 3,},{id: "4",num: 4,car: [{name: "大萨达",amount1: 22,amount2: 1000,},{name: "大萨达",amount1: 22,amount2: 1000,},{name: "大萨达",amount1: 22,amount2: 1000,},{name: "大萨达",amount1: 22,amount2: 1000,},],amount3: 30,},],tableData: [{id: "1",num: 3,name: "王小虎1",amount1: "234",amount2: "3.2",amount3: 10,},{id: "1",name: "王小虎2",amount1: "234",amount2: "3.2",},{id: "1",name: "王小虎3",amount1: "234",amount2: "3.2",},{id: "2",num: 2,name: "王小虎4",amount1: "165",amount2: "4.43",amount3: 12,},{id: "2",name: "王小虎5",amount1: "165",amount2: "4.43",},{id: "3",num: 1,name: "王小虎6",amount1: "324",amount2: "1.9",amount3: 9,},{id: "4",num: 4,name: "王小虎7",amount1: "621",amount2: "2.2",amount3: 17,},{id: "4",name: "王小虎8",amount1: "539",amount2: "4.1",},{id: "4",name: "王小虎9",amount1: "539",amount2: "4.1",},{id: "4",name: "王小虎10",amount1: "539",amount2: "4.1",},],};},methods: {objectSpanMethod({ row, column, rowIndex, columnIndex }) {if (columnIndex === 0 || columnIndex === 1 || columnIndex === 5) {if (row.num) {return { rowspan: row.num, colspan: 1 };} else {return { rowspan: 0, colspan: 0 };}}return { rowspan: 1, colspan: 1 };},flattenAndMerge(data) {const result = [];// 遍历原始数据data.forEach((item) => {// 提取公共字段const commonFields = {id: item.id,amount3: item.amount3,};// 遍历 car 数组item.car.forEach((carItem, index) => {// 复制公共字段const rowData = { ...commonFields };// 添加 car 数组中的字段rowData.name = carItem.name;rowData.amount1 = carItem.amount1;rowData.amount2 = carItem.amount2;// 如果是第一个元素,则保留 num 字段if (index === 0) {rowData.num = item.num;}result.push(rowData);});});return result;},},mounted() {this.tableData = this.flattenAndMerge(this.list);console.log(this.tableData);},
};
</script>

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com