vue實現table表格裡面數組多層嵌套取值
vue table表格裡面數組多層嵌套取值
我現在是在表格裡拿到級聯選擇器的多選的id,然後要根據這個id來匹配一個嵌套瞭三層的數組的第三層id,來拿名字渲染
表格部分
<tr style="height: 44px;line-height: 44px;"> <td style="border: 1px solid #ddd;">提醒給</td> <td style="border: 1px solid #ddd;"> <!-- {{editForm.uids.toString().split(',')}} --> <span v-for="item in editForm.uids.toString().split(',')" :key="item.id"> <!-- <p>{{dataHandle(editForm.uids)}}</p> --> <p>{{dataHandle(item)}}</p> </span> </td> </tr> ``
methods裡面定義方法
// 提醒給點擊事件 dataHandle(item) { let ary = [] let name = '' let result = getUserName(this.options4) result.forEach(v2 => { if (item == v2.id) { name = v2.corp_name } }) return name function getUserName(item) { item.forEach(v1 => { if (v1.children) return getUserName(v1.children) else { ary.push(v1) } }) return ary } },
vue 多層數組嵌套循環,動態取值匹配
tableData:[], //存儲數組 arrTarName:[] //結果數組 this.tableData.push({ siteName:i.siteName, tabdata:result.data }); //循環+判斷取值 for (let k = 0; k < result.data.length; k++) { if (this.arrTarName.length == 0) { this.arrTarName.push({ indexName: result.data[k].indexName, polTracesouCount: result.data[k].polTracesouCount }) } else { let isExist = false; for (let l = 0; l < this.arrTarName.length; l++) { if (this.arrTarName[l].indexName == result.data[k].indexName) { isExist = true; this.arrTarName[l].polTracesouCount = this.arrTarName[l].polTracesouCount + result.data[k].polTracesouCount; break; } } if (!isExist) { this.arrTarName.push({ indexName: result.data[k].indexName, polTracesouCount: result.data[k].polTracesouCount }) } } } console.log(this.arrTarName)
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。
推薦閱讀:
- Element UI中table單元格合並的解決過程
- 基於ElementUI中Table嵌套實現多選的示例代碼
- Vue使用el-table實現自適應列寬
- vue中table實現真正的跨越全選
- elementui中樹形表格切換展開不同層級的示例代碼