当前位置: 代码迷 >> 综合 >> 前端树形数据选中节点返回该节点所有父级信息(id,name),TreeNode,el-cascader,Breadcrumb面包屑信息显示
  详细解决方案

前端树形数据选中节点返回该节点所有父级信息(id,name),TreeNode,el-cascader,Breadcrumb面包屑信息显示

热度:57   发布时间:2024-02-08 00:42:06.0

在这里插入图片描述
前端同学每次看到树形数据,无论是表格还是各种奇葩的Tree第一反应都是
在这里插入图片描述
产品此时就像一个讨债的地主见面就是我要这个
在这里插入图片描述
来来满足他

 renderTree = jsonTree => jsonTree.map( value => {//遍历树状数组,如果发现他有children则先套上<TreeNode>,再对他children中的元素做相同的操纵,直到children为空的元素停止,说明他们已经是最深的那一层了。if(value.children){return(<TreeNode title={<div  className="main-title-les" key={value.id}>{/*<span><img src={xxx/value.img}/></span>*/}<span className="main-span-cel">{value.type?value.type:''}</span><span className="main-span-sel">{value.sce?value.sce:''}</span><span className="main-span-gel">{value.title}</span></div>} key={value.id} icon={(props)=>{console.log(props)}}>{this.renderTree(value.children)}</TreeNode>)}else {return (<TreeNode title={<span>{value.title}</span>}></TreeNode>)}})

方法其实很简单:利用render函数就行了 tree组件接收一个预编译的TreeNode节点作为自定义区域。然后你要做的事情就很简单了
在这里插入图片描述
什么产品还要加面包屑 (ps:你咋不上天呢)
在这里插入图片描述
在这里插入图片描述
冷静分析一下 这个东西
突然欣喜,这不就是个面包屑嘛! 哈哈哈哈哈! 孩子找爹的游戏而已
反正递归!

/*** 深度优先遍历树* 一个递归方法* @params props :查询指标对应参数* @params data:原始数据id* @params id:当前id,初始为null(id)**/getFathersId=(id, data, props = 'key')=> {var arr = []const rev = (data, IDS) => {for (var i = 0, length = data.length; i < length; i++) {const node = data[i]if (node[props ] === IDS) {arr.unshift(node[props ])return true} else {if (node.children && node.children.length) {if (rev(node.children, IDS)) {arr.unshift(node[props ])return true}}}}return false}rev(data, id)return arr}

好处就是你可以根据这个id返回你要的任何东西 。面包屑!中文走起

 getFathersByName=(id, data, prop = 'key')=> {var arr = []const rev = (data, IDS) => {for (var i = 0, length = data.length; i < length; i++) {const node = data[i]if (node[prop] === IDS) {arr.unshift(node.title)return true} else {if (node.children && node.children.length) {if (rev(node.children, IDS)) {arr.unshift(node.title)return true}}}}return false}rev(data, id)return arr}

在这里插入图片描述
级联信息反填
在这里插入图片描述
搞定它!!!
在这里插入图片描述

注意级联的返回识别的是id或者指定的prop"key"
在这里插入图片描述
在这里插入图片描述