vue table表格里面数组多层嵌套取值
表格部分
methods里面定义方法
vue 多层数组嵌套循环,动态取值匹配
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)
以上为个人经验,希望能给大家一个参考,也希望大家多多支持易知道(ezd.cc)。