如果我写:
rootNode.expand()
我只能访问这个 rootNode 的子节点,但不能访问这个 rootNode 的孙节点。我必须写:
rootNode.expandChildNodes()
为了实现它。
即使树倒塌,还有其他方法可以获得孙子节点或更多子节点吗?除了使用node.eachChild()
功能?我试过:
rootChildNode.firstChild
但它不起作用。
ExtJS 4xexpandAll()
在 Tree Panel 组件上有方法。这将递归地扩展每个节点。
如果您想扩展到特定级别,那么在这种情况下:
expandTo:function(level){
treePanel.collapseAll();
treePanel.getRootNode().cascadeBy(function (node) {
if (node.getDepth() < level) { node.expand(); }
if (node.getDepth() == level) { return false; }
});
}
到达后代的另一种方法是使用node.expand(true)
,其中 node 是根节点。同样,您可以获取树中的任何节点并使用相同的代码展开其所有后代节点。一个常见的用法是用于选定的节点。