Как определить, какой dijit.layout.AccordionPane в настоящее время выбран
Я пытался использовать "dijit.layout.AccordionPane.selected", чтобы определить, находится ли какой-либо данный AccordionPane в фокусе (выбран). Однако свойство AccordionPane.selected будет установлено равным "True" после выбора AccordionPane, а AccordionPane.selected остается равным "True", даже если выбрано другое dijit.layout.AccordionPane. Другими словами, если у меня есть 3 AccordionPanes, после того, как я нажму на все 3 из них, свойство AccordionPane.selected для всех 3 из них теперь будет "True". Это ошибка, или есть другие способы определить, какая AccordionPane в настоящее время выбирается (в фокусе)? Заранее спасибо!
Дэвид
2 ответа
Вы должны использовать dijit.layout.AccordionContainer
который содержит все эти три dijit.layout.AccordionPane
чтобы определить, какой из них выбран в данный момент.
Ты можешь использовать dijit.layout.AccordionContainer
собственность selectedChildWidget
чтобы выбрать текущий dijit.layout.AccordionPane
,
AccordionPane
S обернуты в AccordionContainer
, AccordionContainer
продолжается StackContainer
который использует канал связи паб-суб Dojo для рекламы, когда была выбрана панель. Подписаться на тему [widgetId]-selectChild
получать уведомления каждый раз, когда выбирается новая панель. [widgetId]
является идентификатором виджета элемента контейнера.
dojo.subscribe("[widgetId]-selectChild", function(pane){
console.log("A new pane was selected:", pane);
});