Как определить, какой Dijit.layout.accordionpane в настоящее время выбран

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

  •  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.

Другие советы

AccordionPaneS обернут в AccordionContainer. Отказ То AccordionContainer расширяться StackContainer который использует канал Pub-Communicate Dojo Реклама, когда была выбрана панель. Подписаться на тему [widgetId]-selectChild Чтобы получить уведомление каждый раз, когда выбирается новая панель. [widgetId] это идентификатор виджета элемента контейнера.

dojo.subscribe("[widgetId]-selectChild", function(pane){
    console.log("A new pane was selected:", pane);
});
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top