Вопрос

Я не слишком знаком с Extjs, но работаю над проектом, который использует его.

Мы используем Treepanel с Treeloader, который загружает все данные узла с сервера в один вызов. У нас есть событие, в котором мне нужно получить доступ к атрибутам каждого узла в дереве. То, как я делаю это, использует метод GetnodebyyId Treepanel. Проблема в том, что панель дерева кажется ленивому узлам нагрузки и не сможет получить узел с GetNodebyID, если узел уже не загружен.

Есть ли способ заставить все узлы загружать? Самое близкое, которое я пришел, используя атрибут PreloadChildren на Treeloader, но это все еще загружено только при нагрузке родительского узла, содержащего детей.

Это было полезно?

Решение

Если вы хотите иметь возможность получить доступ к всем узлам, вы должны загрузить полную структуру деревьев на первый звонок.

Ответ JSON на первом вызове должен включать все узлы деревьев. Например:

[{
    id: 1,
    text: 'A leaf Node',
    leaf: true
},{
    id: 2,
    text: 'A folder Node',
    children: [{
        id: 3,
        text: 'A child Node',
        leaf: true
    }]

}]

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top