Nach dem Betrieb auf dem Baumknoten müssen Sie häufig einen Nachladevorgang durchführen, um den Baum zu aktualisieren. Viele Unternehmen müssen jedoch standardmäßig den letzten ausgewählten Knoten auswählen, nachdem der Baum aktualisiert wurde. Auf diese Weise müssen Sie zuerst die Informationen des ausgewählten Knotens in der vorherigen Zeit speichern und nach dem Nachladen die Informationen des Knotens durch die Schicht durch die Informationen erweitern.
Nachdem ich lange gesucht hatte, fand ich schließlich eine praktikable Lösung, bei der die Standortinformationen des Knotens über den Pfad des Knotens aufgezeichnet und dann die Ebene für Schicht vom Stammknoten bis zum letzten Knoten durch den Pfad erweitert werden.
Der fertige Code lautet wie folgt:
Erstens die Methode in der ExtJS3.x -Version:
Die Codekopie lautet wie folgt:
// Ausgewählten Knoten erhalten
var node = baum.getSelectionModel (). getSelectedNode ();
if (node == null) {// Der Überladungsbaum ist nicht ausgewählt
tree.getRootnode (). reload ();
} else {// den Baum neu laden und standardmäßig den zuletzt ausgewählten Knoten auswählen
var path = node.getPath ('id');
Tree.getloader (). Load (Tree.getrootnode (),
Funktion (Treenode) {
Tree.expandPath (Pfad, 'ID', Funktion (BSUCESS, Olastnode) {
Tree.GetSelectionModel (). Select (Olastnode);
});
}, Das);
}
Der Unterschied zwischen extjs3.0 und extjs4.2 ist wie folgt
Die Codekopie lautet wie folgt:
idPath = selnode.getPath ("id");
Tree.getStore (). Load ({{
Knoten: Tree.getrootnode (),
Rückruf: function () {
tree.expandPath (idPath, 'id');
}
});
Es ist zu beachten, dass der Knoten das ID -Attribut nicht in den ID -Attribut enthält, wenn die JSON -Daten im Hintergrund zurückgegeben werden. Es stellt sich heraus, dass dies den Effekt nicht erreichen kann, und schließlich wurde das ID -Attribut zu JSON hinzugefügt.