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)
以上为个人经验,希望能给大家一个参考,也希望大家多多支持w3xue。