Après avoir fonctionné sur le nœud d'arbre, vous devez souvent effectuer une opération de rechargement pour actualiser l'arborescence, mais de nombreuses entreprises doivent sélectionner le dernier nœud sélectionné par défaut après la rafraîchissement de l'arborescence. De cette façon, vous devez d'abord enregistrer les informations du nœud sélectionné la fois précédemment, puis développer la couche informatique par calque via les informations du nœud après le rechargement.
Après avoir cherché longtemps, j'ai finalement trouvé une solution réalisable, qui est d'enregistrer les informations de localisation du nœud via le chemin du nœud, puis de développer la couche par calque à partir du nœud racine à travers le chemin jusqu'au dernier nœud.
Le code fini est le suivant:
Tout d'abord, la méthode dans la version extjs3.x:
La copie de code est la suivante:
// Obtenez le nœud sélectionné
var node = arbre.getSelectionModel (). getSelectedNode ();
if (node == null) {// L'arborescence de surcharge n'est pas sélectionnée
Tree.getRootNode (). Reload ();
} else {// Recharger l'arborescence et sélectionnez le dernier nœud sélectionné par défaut
var path = node.getPath ('id');
Tree.getLoader (). Load (Tree.GetRootNode (),
function (Treenode) {
Tree.ExpandPath (Path, 'Id', fonction (BSUCESS, OLASTNODE) {
Tree.getSelectionModel (). SELECT (OlastNode);
});
}, ce);
}
La différence entre extjs3.0 et extjs4.2 est la suivante
La copie de code est la suivante:
idPath = selnode.getPath ("id");
Tree.getStore (). Load ({
nœud: arbre.getrootnode (),
rappel: function () {
Tree.ExpandPath (idpath, 'id');
}
});
Il convient de noter que lorsque les données JSON de l'arborescence sont retournées en arrière-plan, le nœud doit contenir l'attribut ID. Il s'avère que cela ne peut pas réaliser l'effet, et enfin, l'attribut ID a été ajouté à JSON.