Question

Je ne suis pas trop familier avec ExtJS, mais je travaille sur un projet qui l'utilise.

Nous faisons usage d'un TreePanel avec un TreeLoader qui charge toutes les données de noeud du serveur dans un appel. Nous avons un événement dans lequel je dois accéder aux attributs de chaque nœud dans l'arborescence. La façon dont je fais cela utilise la méthode getNodeById du TreePanel. Le problème est que le panneau d'arbre semble nœuds de charge paresseusement et ne sera pas en mesure de récupérer un nœud avec getNodeById à moins que le noeud a déjà été chargé.

Est-il possible de forcer tous les noeuds à charger? Le plus proche que je suis venu est en utilisant l'attribut preloadChildren sur le TreeLoader, mais cela encore que des charges lorsque le nœud parent contenant des enfants est chargé.

Était-ce utile?

La solution

Si vous voulez être en mesure d'accéder à tous les nœuds, vous devez charger l'arborescence complète sur le premier appel.

La réponse JSON sur le premier appel doit inclure tous les nœuds d'arbres. Par exemple:

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

}]

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top