Cómo determinar qué dijit.layout.AccordionPane está seleccionado actualmente

StackOverflow https://stackoverflow.com/questions/2823762

  •  26-09-2019
  •  | 
  •  

Pregunta

Me trató de usar "dijit.layout.AccordionPane.selected" para determinar si alguno AccordionPane dada está en el foco (seleccionado). Sin embargo, la propiedad AccordionPane.selected se establece en "true" una vez seleccionado el AccordionPane y AccordionPane.selected estancias como se selecciona "True" incluso otra dijit.layout.AccordionPane. Así, en otras palabras, si tengo 3 AccordionPanes, después hice clic en todos los 3 de ellos, AccordionPane.selected propiedad para todos 3 de ellos son "verdaderos" ahora. Es esto un error, o hay otras maneras de determinar cual AccordionPane se está seleccionando actualmente (en el foco)? Gracias de antemano!

David

¿Fue útil?

Solución

Se debe utilizar la dijit.layout.AccordionContainer que contiene todos estos tres dijit.layout.AccordionPane para determinar cuál está seleccionado actualmente.

Puede utilizar la propiedad de dijit.layout.AccordionContainer selectedChildWidget para obtener dijit.layout.AccordionPane actual seleccionado.

Otros consejos

AccordionPanes están envueltos dentro de una AccordionContainer. El AccordionContainer extiende StackContainer que utiliza de Dojo pub-sub canal de comunicación para hacer publicidad cuando se seleccionó un panel. Suscribirse a [widgetId]-selectChild tema para ser notificado cada vez que se selecciona un nuevo panel. [widgetId] es el ID de widget de del elemento contenedor.

dojo.subscribe("[widgetId]-selectChild", function(pane){
    console.log("A new pane was selected:", pane);
});
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top