Domanda

Io non sono troppo familiarità con ExtJS, ma sto lavorando su un progetto che l'utilizza.

Si stanno facendo uso di un TreePanel con un TreeLoader che carica tutti i dati del nodo dal server in una sola chiamata. Abbiamo un evento in cui ho bisogno di accedere agli attributi di ogni nodo dell'albero. Il modo in cui sto facendo questo sta usando il metodo getNodeById del TreePanel. Il problema è che il pannello albero sembra nodi di carico pigramente e non sarà in grado di recuperare un nodo con getNodeById a meno che il nodo è già stato caricato.

C'è un modo per forzare tutti i nodi da caricare? Il più vicino Sono venuto è quello di utilizzare l'attributo preloadChildren sul TreeLoader, ma questo ancora solo carichi quando viene caricato il nodo padre che contiene i bambini.

È stato utile?

Soluzione

Se si vuole essere in grado di accedere a tutti i nodi, è necessario caricare la struttura ad albero completa alla prima chiamata.

La risposta JSON in prima convocazione deve includere tutti i nodi della struttura. Ad esempio:

[{
    id: 1,
    text: 'A leaf Node',
    leaf: true
},{
    id: 2,
    text: 'A folder Node',
    children: [{
        id: 3,
        text: 'A child Node',
        leaf: true
    }]

}]

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top