Como determinar qual dijit.layout.AccordionPane está atualmente selecionado
-
26-09-2019 - |
Pergunta
Tentei usar "dijit.layout.accordionPane.Selected" para determinar se um determinado acordeionpane está em foco (selecionado). No entanto, a propriedade AccorceionPane.Selected será definida como "true" assim que o acordeionpane for selecionado, e acordeionpane.Selected permanece como "verdadeiro", mesmo outros dijit.layout.AccordionPane são selecionados. Então, em outras palavras, se eu tiver 3 acordeionPanes, depois que cliquei em todos os três, a propriedade acordeionpane.Sesed para todos os três são "verdadeiros" agora. Isso é um bug, ou há outras maneiras de determinar qual acordeionpane está sendo selecionado atualmente (em foco)? Desde já, obrigado!
David
Solução
Você deve usar o dijit.layout.AccordionContainer
que contém todos esses três dijit.layout.AccordionPane
para determinar qual está atualmente selecionado.
Você pode usar dijit.layout.AccordionContainer
Propriedade selectedChildWidget
Para ser selecionado atual dijit.layout.AccordionPane
.
Outras dicas
AccordionPane
s estão envoltos em um AccordionContainer
. o AccordionContainer
estende -se StackContainer
que usa o canal de comunicação de sub-sub-sub-sub-sub Anunciar quando um painel foi selecionado. Assine o tópico [widgetId]-selectChild
ser notificado toda vez que um novo painel é selecionado. [widgetId]
é o ID do widget do elemento de contêiner.
dojo.subscribe("[widgetId]-selectChild", function(pane){
console.log("A new pane was selected:", pane);
});