Depois de operar no nó da árvore, muitas vezes você precisa executar uma operação de recarga para atualizar a árvore, mas muitas empresas precisam selecionar o último nó selecionado por padrão após a atualização da árvore. Dessa forma, você deve primeiro salvar as informações do nó selecionado no horário anterior e depois expandi -las camadas por camada através das informações do nó após o recarga.
Depois de procurar por um longo tempo, finalmente encontrei uma solução viável, que é registrar as informações de localização do nó através do caminho do nó e depois expandir a camada por camada do nó raiz pelo caminho até o último nó.
O código acabado é o seguinte:
Primeiro, o método na versão ExtJS3.x:
A cópia do código é a seguinte:
// Obtenha o nó selecionado
var node = árvore.getSelectionModel (). getSelectedNode ();
if (node == null) {// a árvore de sobrecarga não é selecionada
TREE.GETROOTNODE (). Reload ();
} else {// Recarregue a árvore e selecione o último nó selecionado por padrão
var path = node.getPath ('id');
Tree.getLoader (). Load (Tree.GeTrootNode (),
função (Treenode) {
Tree.expandPath (Path, 'Id', Função (Bsucess, OlastNode) {
Tree.getSelectionModel (). Selecione (olastNode);
});
}, esse);
}
A diferença entre extjs3.0 e extjs4.2 é a seguinte
A cópia do código é a seguinte:
idpath = SelNode.getPath ("id");
Tree.getStore (). Carga ({
Nó: TREE.GETROOTNODE (),
retorno de chamada: function () {
árvore.expandpath (idpath, 'id');
}
});
Deve -se notar que, quando os dados JSON da árvore retornados em segundo plano, o nó deve conter o atributo ID. Acontece que isso não pode alcançar o efeito e, finalmente, o atributo de identificação foi adicionado ao JSON.