Comment effacer un arbre dans ExtJs?
J'ai réussi à créer une Ext.d'arbre en arbre.TreePanel qui charge les nœuds enfants de manière dynamique, mais je vais avoir un moment difficile de compensation de l'arbre et de le charger avec de nouvelles données. Quelqu'un peut m'aider avec le code pour faire cela?
Vous devez vous connecter pour publier un commentaire.
Du merveilleux blog de Saki une ExtJS gourou.
http://blog.extjs.eu/know-how/how-to-remove-all-children-of-a-tree-node/
Ext JS 4:
si vous souhaitez recharger les données de l'arborescence, vous devez recharger l'arbre magasin:
où treeId est l'id de l'arbre. Si vous avez un magasin id, vous pouvez directement utiliser la méthode load() sur la boutique id.
pour supprimer tous les nœuds enfants:
Toutefois, la suppression de nœuds enfants n'est pas nécessaire pour le rechargement, les nœuds de l'arborescence de son magasin.
Dans mon cas, mon Poste arbre a une racine cachée noeud de type AsyncTreeNode. Si je veux effacer l'arbre et de repeupler à partir du serveur, c'est assez simple:
J'ai enfin trouvé une réponse dans leurs forums. Pour toute personne intéressé, c'est ici:
vous pouvez simplement utiliser
node.removeAll()
pour supprimer tous les nœuds enfants de ce nœud.http://docs.sencha.com/extjs/4.2.1/#!/api/Ext.les données.NodeInterface-méthode-removeAll
J'ai rencontré un problème similaire et la solution je suis venu avec était de "tagger" le nœud a ne pas l'avoir chargé quand il a été s'est effondré ainsi forcer un rechargement quand il a été re-développé.
Je ne sais pas de Poste, mais je devine qu'ils ont DOM abstraction qui pourrait faciliter la vie. Un équivalent à l'état de Prototype serait quelque chose comme:
Sauf
tree.root
fait référence à un objet de collection plutôt que de la racine de l'arbre des nœuds du DOM, mais un emprunt API DOM noms de méthode? Cela semble très peu probable, surtout pour un moderne bibliothèque JS.