获取到省市区等等最后一级怎么回显到联级选择器

获取到省市区最后一级怎么回显到联级选择器(ts)

ts部分
// 行政区号查找父节点
function findParentValues(nodes: any, targetvalue: any, result: any = []) {
  // console.log('===============', nodes, targetvalue, '----')
  for (const node of nodes) {
    if (node.value === targetvalue) {
      // 如果当前节点就是目标节点,回溯并添加父级value到结果数组
      // 注意:由于我们是从下往上回溯,所以需要反转数组
      result.unshift(node.value)
      // 如果需要继续向上(理论上在这个场景下不需要,因为我们找到了目标),可以取消下一行的return
      return result // 找到目标后直接返回结果
    }

    if (node.children && node.children.length > 0) {
      // 递归查找子节点
      const found = findParentValues(
        node.children,
        targetvalue,
        result,
      )
      if (found.length > 0) {
        // 如果在子节点中找到了目标,添加当前节点的value到结果数组
        result.unshift(node.value)
        return result // 返回结果,因为已经找到了目标
      }
    }
  }

  return result // 如果没有找到目标,返回空数组
}

/* 
addressList.value ---获取到的省市区等的数据
res.data.xzqh --- 获取到的省市区最后一级 如:43122100000000
*/
const  address = findParentValues(addressList.value, res.data.xzqh) //得到的是["43000000000000","43120000000000","43122100000000"]
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值