现在遇到这种情况,后端返回的是一维数组的省市区,如图一
但省市区三级联动需要,如图二
现在问题就来了,如果转换呢
别急!别急!别急!
在这里
fnSetTreeData(data) {
var data = [...data];
data.forEach((father) => {
var branchArr = data.filter((child) => {
if (father.areaId == child.pid) child._hasParent = true;
return father.areaId == child.pid;
});
//可以让没有子元素的不显示children
if (branchArr.length > 0) father.children = branchArr;
});
//都遍历完才知道谁有父级
return data.filter((item) => {
return !item._hasParent;
})
},
调用这个方法后,返回的结果,如图二