如何实现单击tree的子节点得到其所有父节点的id
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何实现单击tree的子节点得到其所有父节点的id相关的知识,希望对你有一定的参考价值。
参考技术A 监听treepanel的click : ( Node node, Ext.EventObject e ) 事件.然后你可以看下TreeNode的api,有个属性parentNode
你就可以往上回溯直到null,就可以得到所有的父节点了.本回答被提问者和网友采纳
找到树中指定id的所有父节点
const data = [ id: 1, children: [ id: 2, children: [ id: 3, , id: 4, ], ], , id: 5, children: [ id: 6, ], ]; let nodes = []; function getParentNodes(id, tree) _getParentNodes([], id, tree); return nodes; function _getParentNodes(his, targetId, tree) tree.some((list) => const children = list.children || []; if (list.id === targetId) nodes = his; return true; else if (children.length > 0) const history = [...his]; history.push(list); return _getParentNodes(history, targetId, children); )
要找到一颗树中指定id的那个节点很简单。如果要找到指定的所有父节点,转换一下思路就是将深度遍历的每条顺序都记录下来,直到找到了指定id的节点时,输出该条记录。
那么仅仅需要在每次遍历时,将上一次的记录传过去即可。
以上是关于如何实现单击tree的子节点得到其所有父节点的id的主要内容,如果未能解决你的问题,请参考以下文章