element table根据后端数据合并行

本文详细介绍了如何使用Element UI库在JavaScript和Vue.js中根据后端数据动态合并表格行。分别展示了单个子数组和多个子数组场景的处理方法,包括需求分析、效果展示、原始数据转换及代码实现。
摘要由CSDN通过智能技术生成

(一)一个数组构成的表格(数据:每个数组项有1个子数组)

需求:

效果:

在这里插入图片描述

原数据和处理后数据

在这里插入图片描述

代码:(包括模拟数据的生成和数据处理)

<el-table v-loading="loading" :data="listData" :span-method="objectSpanMethod">
  <el-table-column prop="getOddNumbers" label="领用单号" width="20"></el-table-column>
  <el-table-column prop="assetsCoding" label="资产编码" width="200"></el-table-column>
</el-table>
data() {
   
	return {
   
		loading: false,
    	listData: [],
```js
getList(){
   
  this.loading = true;
  this.listData = [];
  let colNums = [2,2,1,3,3]
  // 模拟数据
  let resData = [];
  for(var i=0; i<5; i++){
   
    let form = {
   }
    form.id = i;
    form.getOddNumbers = '领用单号'+i;
    let temp = [];
    let len = colNums[i]
    for(let j=0; j<len; j++){
   
      let tempItem = {
   };
      tempItem.assetsCoding = '资产编码'+i+j;
      temp.push(tempItem);
    }
    form.assets 
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果您想获取合并数据,可以使用 `rowspan` 属性来判断哪些单元格是合并的,并将其合并的单元格的值赋给需要展示的单元格。 以下是一个示例代码,用于获取合并数据: ```html <table> <tr> <th rowspan="2">Name</th> <th>Age</th> <th>Gender</th> </tr> <tr> <td>25</td> <td>Male</td> </tr> <tr> <td colspan="3">Contact Information</td> </tr> <tr> <td>John Doe</td> <td>25</td> <td>Male</td> </tr> </table> ``` 在这个示例中,第一 `Name` 单元格跨越了两,而第三 `Contact Information` 单元格跨越了三列。如果您想获取合并数据,可以使用以下代码: ```javascript const table = document.querySelector('table'); const rows = table.querySelectorAll('tr'); for (let i = 0; i < rows.length; i++) { const cells = rows[i].querySelectorAll('td, th'); for (let j = 0; j < cells.length; j++) { const cell = cells[j]; // 获取单元格内容 const content = cell.textContent.trim(); // 如果单元格跨越了多,则将其合并的单元格的值赋给当前单元格 if (cell.hasAttribute('rowspan')) { const rowspan = parseInt(cell.getAttribute('rowspan')); for (let k = 1; k < rowspan; k++) { const mergedRow = rows[i + k]; const mergedCell = mergedRow.querySelector(`td:nth-child(${j + 1}), th:nth-child(${j + 1})`); const mergedContent = mergedCell.textContent.trim(); content += `, ${mergedContent}`; } } console.log(content); } } ``` 这个代码会输出以下结果: ``` Name Age Gender John Doe, 25, Male Contact Information ``` 代码中的逻辑是,先获取每一的所有单元格,然后对每一个单元格进处理。如果单元格跨越了多,就将其合并的单元格的值赋给当前单元格。最后,输出每个单元格的内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值