Extjs Treeloader Выпуск
-
26-09-2019 - |
Вопрос
Я не слишком знаком с 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
}]
}]