当前位置: 首页 > 知识库问答 >
问题:

javascript - elementui如何合并动态数据的行和列(表头合并和表格内容合并)?

洪高阳
2023-08-17

如何根据后端返回的数据来进行动态合并渲染,合并的关键字段为jianyanneirong和jianyanneirong1,合并要求如下图(如果jianyanneirong和jianyanneirong1值不同则进行行合并,但是jianyanneirong1值为空的情况需要进行行列合并)
image.png

<template>  <el-table      :data="tableData"      border      style="width: 70%">    <el-table-column        prop="jianyanneirong"        label="检验项目"        width="180">    </el-table-column>    <el-table-column        prop="jianyanneirong1"        label="检验项目">    </el-table-column>    <el-table-column        prop="jianyanxiangmu"        label="检验内容">    </el-table-column>  </el-table></template><script>export default {  data() {    return {      tableData: [{        'jieguo': '√',        'jianyanxiangmu': '1)锅炉日常运行记录是否齐全',        'beizhu': '备注',        'jianyanneirong1': 'null',        'jianyanneirong': '安全管理情况'      },        {          'jieguo': '√',          'jianyanxiangmu': '2)锅炉图样、产品质量说明书、使用说明书、检验证书、检验报告及维修、改造资料是否齐全',          'beizhu': 'null',          'jianyanneirong1': 'null',          'jianyanneirong': '安全管理情况'        },        {          'jieguo': '---',          'jianyanxiangmu': '3)上次检验报告中所提出的问题是否解决',          'beizhu': 'null',          'jianyanneirong1': 'null',          'jianyanneirong': '安全管理情况'        },        {          'jieguo': '√',          'jianyanxiangmu': '1)测温仪表的量程与其检测的温度范围的匹配情况',          'beizhu': 'null',          'jianyanneirong1': '温度测量装置',          'jianyanneirong': '安全附件和仪表'        },        {          'jieguo': '√',          'jianyanxiangmu': '2)测温仪表的外观情况',          'beizhu': 'null',          'jianyanneirong1': '温度测量装置',          'jianyanneirong': '安全附件和仪表'        },        {          'jieguo': '√',          'jianyanxiangmu': '3)温度仪表是否在检验或校准有效期内',          'beizhu': 'null',          'jianyanneirong1': '温度测量装置',          'jianyanneirong': '安全附件和仪表'        },        {          'jieguo': '√',          'jianyanxiangmu': '4)螺纹固定的测温元件的泄漏情况',          'beizhu': 'null',          'jianyanneirong1': '温度测量装置',          'jianyanneirong': '安全附件和仪表'        },        {          'jieguo': '√',          'jianyanxiangmu': '1)安全阀是否在检验有效期',          'beizhu': 'null',          'jianyanneirong1': '安全阀',          'jianyanneirong': '安全附件和仪表'        },        {          'jieguo': '√',          'jianyanxiangmu': '2)安全阀阀体和法兰面是否泄漏',          'beizhu': 'null',          'jianyanneirong1': '安全阀',          'jianyanneirong': '安全附件和仪表'        }]    }  },  methods: {  },  created() {  },}</script>

共有1个答案

上官锦
2023-08-17
<template>  <el-table      :span-method="arraySpanMethod"      :data="tableData"      border      style="width: 70%">    <el-table-column        prop="jianyanneirong"        label="检验项目"        width="180">    </el-table-column>    <el-table-column        prop="jianyanneirong1"        label="检验项目">    </el-table-column>    <el-table-column        prop="jianyanxiangmu"        label="检验内容">    </el-table-column>  </el-table></template><script>export default {  data() {    return {      tableData: [{        'jieguo': '√',        'jianyanxiangmu': '1)锅炉日常运行记录是否齐全',        'beizhu': '备注',        'jianyanneirong1': 'null',        'jianyanneirong': '安全管理情况'      },        {          'jieguo': '√',          'jianyanxiangmu': '2)锅炉图样、产品质量说明书、使用说明书、检验证书、检验报告及维修、改造资料是否齐全',          'beizhu': 'null',          'jianyanneirong1': 'null',          'jianyanneirong': '安全管理情况'        },        {          'jieguo': '---',          'jianyanxiangmu': '3)上次检验报告中所提出的问题是否解决',          'beizhu': 'null',          'jianyanneirong1': 'null',          'jianyanneirong': '安全管理情况'        },        {          'jieguo': '√',          'jianyanxiangmu': '1)测温仪表的量程与其检测的温度范围的匹配情况',          'beizhu': 'null',          'jianyanneirong1': '温度测量装置',          'jianyanneirong': '安全附件和仪表'        },        {          'jieguo': '√',          'jianyanxiangmu': '2)测温仪表的外观情况',          'beizhu': 'null',          'jianyanneirong1': '温度测量装置',          'jianyanneirong': '安全附件和仪表'        },        {          'jieguo': '√',          'jianyanxiangmu': '3)温度仪表是否在检验或校准有效期内',          'beizhu': 'null',          'jianyanneirong1': '温度测量装置',          'jianyanneirong': '安全附件和仪表'        },        {          'jieguo': '√',          'jianyanxiangmu': '4)螺纹固定的测温元件的泄漏情况',          'beizhu': 'null',          'jianyanneirong1': '温度测量装置',          'jianyanneirong': '安全附件和仪表'        },        {          'jieguo': '√',          'jianyanxiangmu': '1)安全阀是否在检验有效期',          'beizhu': 'null',          'jianyanneirong1': '安全阀',          'jianyanneirong': '安全附件和仪表'        },        {          'jieguo': '√',          'jianyanxiangmu': '2)安全阀阀体和法兰面是否泄漏',          'beizhu': 'null',          'jianyanneirong1': '安全阀',          'jianyanneirong': '安全附件和仪表'        }]    }  },  methods: {      // 这个是官网的例子      arraySpanMethod({ row, column, rowIndex, columnIndex }) {        if (rowIndex % 2 === 0) {          if (columnIndex === 0) {            return [1, 2];          } else if (columnIndex === 1) {            return [0, 0];          }        }      },      // 你自己看下timeObj里除了官网例子的四个属性还有什么属性,怎么取单元格的值      // 下面是我写的只有一列需要合并的伪代码,      // 看你两列需要合并,是不是第二列合并的前提应该是第一列也相同合并才可以,,,那还需要加一层判断      // 大概就这个思路      // arraySpanMethod(timeObj) {          // if(当前行是第一行){          //     return 不合并          // }else{          //   if(当前列不需要合并){          //      return 不合并          //   }else{          //     if(和上一行的当前列的单元格不一样){          //         return 不合并          //       }else{          //         return 合并          //       }          //   }          // }      // },  },  created() {  },}</script>
 类似资料:
  • el-table 如何根据表格数据合并行。 如图所示,name列的值一样,就合并成一行;Amount 1列合并成3行 演示地址

  • 问题内容: 有很多类似的问题,但没有一个专门针对此问题。 我有一个数据帧列表,我需要使用唯一列将它们合并在一起。字段名称不同,因此concat退出了。 我可以手动使用等将每个df逐一合并,但是问题是列表中数据帧的数量随用户输入而不同。 有什么合并方法可以一次性将所有数据帧合并到一个列表中?还是某些for in loop? 我正在使用Python 2.7。 问题答案: 您可以使用函数where是数据

  • rank ▲ ✰ vote url 45 441 233 760 url 合并列表中的列表 可能重复的问题: Flattening a shallow list in Python Comprehension for flattening a sequence of sequences? 我想是不是有更好的方法 我可以用一个循环来做,但是除了这样做还有什么更cool的用一行来做的方法?我用redu

  • 问题内容: 带有字典列表,例如: 将它们组合到以下词典列表中的最佳方法是什么: 还是最好以其他方式存储数据,例如: 谢谢你的帮助。 问题答案: 这是一个可能的解决方案: 产生: 如您所见,我使用字典(“合并”)作为中途点。当然,您可以通过以不同的方式存储数据来跳过步骤,但这还取决于这些变量可能具有的其他用途。 祝一切顺利。

  • 我有一个有许多记录的表。它有以下结构: 表(col1、col2、col3、col4、col5、col6): 还有很多很多其他的行。 因此,我想要一张桌子: 表(col1,col2,col3,col4_1,col4_2,col4_3,col5_1,col5_2,col5_3,col6_1,col6_2,col6_3): 换句话说:表中的某些部分具有相同的,但不同的。每个相同的行数在1-3之间变化(事