Мне удалось создать Ext.tree.TreePanel, который динамически загружает дочерние узлы, но мне сложно сбрасывать дерево и загружать его новыми данными. Может ли кто-нибудь помочь мне с кодом для этого?Как вы удаляете дерево в ExtJs?
ответ
Наконец-то я нашел ответ на их форумах. Для тех, кто заинтересован именно здесь:
if (tree)
{
var delNode;
while (delNode = tree.root.childNodes[0])
tree.root.removeChild(delNode);
}
if (tree) { var delNode; while (delNode = tree.root.childNodes[0]) tree.root.removeChild(delNode); }
Я не знаю, Ext, но я предполагаю, что у них есть DOM абстракции, которые могли бы сделать, что проще. Эквивалент в Prototype было бы что-то вроде:
tree.root.immediateDescendants().invoke('remove'); // or
tree.root.select('> *').invoke('remove');
Если только tree.root
ссылается на объект коллекции, а не DOM узел корневого дерева, но заимствует DOM имена методов API? Это кажется маловероятным, особенно для современной библиотеки JS.
В моем случае у моего дерева Ext есть скрытый корневой узел типа AsyncTreeNode. Если я хочу, чтобы очистить дерево и заселить с сервера, это довольно просто:
tree.getRootNode().reload();
От замечательного блога Саки гуру ExtJS.
while (node.firstChild) {
node.removeChild(node.firstChild);
}
http://blog.extjs.eu/know-how/how-to-remove-all-children-of-a-tree-node/
я столкнулся с подобной проблемой, и решение я придумал было «тег» узел имеет то, не загружен, когда он рухнул, таким образом, заставляя перезагрузки, когда он был вновь расширен ,
listeners: {
collapsenode: function(node){
node.loaded = false;
},
В Ext JS 4:
, если вы хотите, чтобы перезагрузить данные панели дерева, необходимо перезагрузить дерево магазин:
getCmp('treeId').getStore().load();
где treeId является идентификатором дерево. Если у вас есть идентификатор магазина, вы можете напрямую использовать load() для идентификатора магазина.
удалить все дочерние узлы:
getCmp('treeId').getRootNode().removeAll();
Однако удаление дочерних узлов не является необходимым для перегрузки узлов дерева из его магазина.
вы можете просто использовать node.removeAll()
, чтобы удалить все дочерние узлы с этого узла.
http://docs.sencha.com/extjs/4.2.1/#!/api/Ext.data.NodeInterface-method-removeAll
- 1. Extjs: Как вы добавляете/удаляете класс для определенной ячейки?
- 2. AS2: Как вы удаляете onEnterFrame?
- 3. LocalDB: Как вы его удаляете?
- 4. Как вы удаляете столбец в FIREBIRD
- 5. как вы удаляете эшафот в рельсах?
- 6. NetSuite: Как вы удаляете продукты из категории?
- 7. Как вы условно удаляете элементы с d3?
- 8. Как вы удаляете дубликаты из большого datagridview?
- 9. Как вы удаляете иконку tomcat по умолчанию?
- 10. Как вы удаляете все содержимое документа flowdocument
- 11. Любое дерево ExtJs ux
- 12. ExtJS дерево динамически загружать
- 13. Как вы удаляете элементы DOM в Prototype JS?
- 14. В JavaScript/regex, как вы удаляете двойные пробелы внутри строки?
- 15. Как вы удаляете доменное имя из URL-адреса в php?
- 16. Как вы полностью удаляете границу кнопки в wpf?
- 17. Extjs - Лучший способ показать дерево в окне
- 18. RESTful способ загрузить дерево extJS
- 19. Построить ExtJS дерево на лету
- 20. Extjs: Как связать дерево с сеткой данных?
- 21. Как вы удаляете одну запись из сеанса рубинов на рельсах?
- 22. Как вы полностью удаляете стиль из bootstrap, перекрывая его
- 23. Как вы удаляете символ из столбца на SQL Server?
- 24. Durandal: как вы динамически добавляете/удаляете элемент из навигационной модели?
- 25. Как вы удаляете AVAudioPlayer при вызове события FinishedPlaying?
- 26. Как вы удаляете jboss shrinkwrap из разрешения зависимостей удаленно?
- 27. jquery css как сохранить позицию, если вы удаляете поле
- 28. Как вы удаляете все divs дочернего класса, кроме одного?
- 29. Как вы удаляете гласные из слова и печатаете его?
- 30. Как вы условно удаляете файлы во время удаления?