2016-12-28 5 views
0

J'ai un TabContainer dijit avec plusieurs onglets ouverts dedans. Sur certains de ces onglets, je crée une nouvelle instance d'un module. Existe-t-il un moyen de déterminer à quel onglet le module est associé lorsqu'il est créé?Comment trouver l'onglet auquel un module est associé dans Dojo?

Je pensais que cela fonctionnait avec la fonction selectedChildWidget de TabContainer, mais j'ai trouvé que je pouvais commencer à charger un onglet et à changer d'onglet avant qu'il arrive à l'endroit où il charge le module, ce qui aboutit au module étant associé à la mauvaise tabulation. Dans la mesure du possible, je voudrais garder ceci contenu dans le module, et ne pas compter sur quelque chose à l'extérieur du module pour lui dire sur quel onglet il est.

Répondre

0

Nous avons mis en place un scénario similaire, les composants à l'intérieur du TabContainer doit être sélectionné uniquement lorsque le conteneur est activé ..

vous pouvez écouter des événements « _transition » dans le conteneur et initialiser le conteneur « nouveau » de l'événement. et Lors de l'initialisation du module, vous devez passer la nouvelle référence du conteneur, de sorte que les nouveaux modules soient placés dans les conteneurs appropriés.

+0

Merci. J'ai fini par obtenir ce travail en passant le window.frameElement au module qui est en train de mapper les onglets aux modules. À partir de là, j'ai été capable de chercher dans les childNodes de chaque onglet pour trouver le framElement et déterminer avec quel onglet il va. Je ne suis pas sûr que ce soit une meilleure solution, mais cela semble fonctionner. –