递归 解决 Cascader 子数据回显

查询:通过子id获取所有父节点
 
  //根据 单元id 获取选择数组     getUnitArray(list, id) {       let res = { arr: [], arrName: [], isOk: false }       list.forEach(item => {         if (item.id == id) {           res.arr.push(id)           res.isOk = true           res.arrName.push(item.riskUnitName)           return         }         if (item.children != undefined && item.children.length > 0) {           let tmp = this.getUnitArray(item.children, id)           if (tmp.isOk == true) {             res.arr = [item.id, ...tmp.arr]             res.arrName = [item.riskUnitName, ...tmp.arrName]             res.isOk = tmp.isOk             return           }         }       })       return res     },    

methods: {
// 树查询:通过子id获取所有父节点
getTreeParent (treeData, searchId, parentAttr = 'parentid', childAttr = 'sid') {
    var arrRes = [];
    if (treeData.length == 0) {
     if (!!searchId) {
       arrRes.unshift(treeData)
      }
    return arrRes;
    }
    let rev = (data, nodeId) => {
        for (var i = 0, length = data.length; i < length; i++) {
          let node = data[i];
         if (node[childAttr] == nodeId) {
           arrRes.unshift(node)
           rev(treeData, node[parentAttr])
           break;
         }
  else {
    if (!!node.children) {
      rev(node.children, nodeId);
    }
  }
 }
  return arrRes;
  };
  arrRes = rev(treeData, searchId)
  arrRes = arrRes.map(v => v[childAttr])
  return arrRes;
},

 

 

相关文章

这篇文章主要介绍“基于nodejs的ssh2怎么实现自动化部署”的...
本文小编为大家详细介绍“nodejs怎么实现目录不存在自动创建...
这篇“如何把nodejs数据传到前端”文章的知识点大部分人都不...
本文小编为大家详细介绍“nodejs如何实现定时删除文件”,内...
这篇文章主要讲解了“nodejs安装模块卡住不动怎么解决”,文...
今天小编给大家分享一下如何检测nodejs有没有安装成功的相关...