Question

J'ai essayé d'utiliser « dijit.layout.AccordionPane.selected » pour déterminer si une AccordionPane donnée est mise au point (sélectionné). Cependant, la propriété AccordionPane.selected sera réglé sur « True » une fois que le AccordionPane est sélectionné et reste AccordionPane.selected comme « True » même d'autres dijit.layout.AccordionPane est sélectionné. En d'autres termes, si j'ai 3 AccordionPanes, après avoir cliqué sur tous les trois d'entre eux, AccordionPane.selected propriété pour tous les trois d'entre eux sont « True » maintenant. Est-ce un bug, ou il y a d'autres façons de déterminer qui AccordionPane est actuellement sélectionné (mise au point)? Merci à l'avance!

David

Était-ce utile?

La solution

Vous devez utiliser le dijit.layout.AccordionContainer qui contient tous ces trois dijit.layout.AccordionPane afin de déterminer lequel est actuellement sélectionné.

Vous pouvez utiliser la dijit.layout.AccordionContainer propriété de selectedChildWidget pour obtenir dijit.layout.AccordionPane sélectionné.

Autres conseils

AccordionPanes sont enveloppés dans un AccordionContainer. Le AccordionContainer étend StackContainer qui utilise pub sous canal de communication Dojo afficher lorsqu'un panneau a été sélectionné. Abonnez-vous au sujet [widgetId]-selectChild pour être averti chaque fois qu'un nouveau volet est sélectionné. [widgetId] est le widget ID de l'élément de conteneur.

dojo.subscribe("[widgetId]-selectChild", function(pane){
    console.log("A new pane was selected:", pane);
});
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top