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