Ext JS дерево, дочерние узлы пусты перед расширением корневого узла (загрузка полной древовидной структуры)

#extjs #tree

#extjs #дерево

Вопрос:

Я загружаю ПОЛНУЮ древовидную структуру в первый раз.

 var tree = new Ext.tree.TreePanel({
    title   : 'Simple Tree',
    width   : 300,
    height  : 300,
    root    : new Ext.tree.AsyncTreeNode({
        children : [
            { text :  'one',    leaf : true },
            { text :  'two',    leaf : true },
            { text :  'three',  leaf : true }
        ]
    })
});
Ext.onReady(function(){
    tree.render(Ext.getBody());
});
  

и попробуйте это..

 treePanel.root.childNodes // []
  

Но после того, как я разверну корневой узел и повторю попытку

 treePanel.root.childNodes // [obj, obj, obj]
  

Могу ли я получить дочерние узлы без расширения корневого узла?

Комментарии:

1. @amol, я обновляю пример кода.

Ответ №1:

Похоже, что childNodes заполняется только фактическими элементами. До того, как вы развернете этот узел, они не нужны.

То, что вы ищете, это treePanel.root.attributes.children . В нем есть три элемента.

Комментарии:

1. Если мне действительно нужны дочерние узлы (по причине флажка, когда я проверяю родительский узел, все дочерние узлы также проверены, но не нуждаются в расширении), то как я могу сделать?