extjs treepanel: expand() и expandChildNodes()
Если я напишу:
rootNode.expand()
Я могу получить доступ только к дочерним узлам этого корневого узла, но не могу получить доступ к узлам внуков этого корневого узла. Я должен написать:
rootNode.expandChildNodes()
для того, чтобы достичь этого.
Есть ли другой способ получить внуки или дополнительные дочерние узлы, даже если дерево свернуто? кроме использования node.eachChild()
функционировать? Я старался:
rootChildNode.firstChild
но это не работает
3 ответа
ExtJS 4x имеет expandAll()
метод на компоненте панели дерева. Это расширит каждый узел рекурсивно.
Если вы хотите расшириться до неполного уровня, то в этом случае:
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)
где узел является корневым узлом. Точно так же вы можете взять любой узел в дереве и развернуть все его дочерние узлы, используя тот же код. Обычное использование для выбранного узла.