ExtJS гармошка setActiveItem - PullRequest
       17

ExtJS гармошка setActiveItem

4 голосов
/ 07 сентября 2010

Я занимаюсь разработкой приложения с использованием ExtJS.У меня есть Аккордеон, и мне нужно выбрать активный элемент (чтобы он расширялся).Accordion.setActiveItem выводит следующее:

"setActiveItem" is not a function in a browser's error window.

Вторая проблема заключается в том, что свойство hideCollapseTool, если в инициализации установлено значение true, ничего не делает.Инструменты свертывания по-прежнему отображаются.

Я использую ExtJS 3.1.1.Буду очень благодарен за любые советы и ответы.

Ответы [ 5 ]

6 голосов
/ 29 октября 2010

Мне немного не повезло с setActiveItem.Рассматривая его в Firebug, у панели аккордеона даже нет этого метода.

Что я сделал, чтобы обойти это, так это позвонил expand() на предмет, который я хочу сфокусировать, например:

accordion.items.itemAt(2).expand();
2 голосов
/ 21 марта 2013

Я исправил это в контроллере с ссылкой под названием userview

this.getUserview().items.items[1].expand();
2 голосов
/ 24 февраля 2011

Вы также можете расширить элемент панели аккордеона по его идентификатору компонента, например так:

Ext.getCmp('myAccordion').expand();
Ext.getCmp('myAccordion').items.key('myAccordionPanel').expand();
1 голос
/ 17 января 2012
Ext.getCmp('myAccordion').getLayout().setActiveItem(0); // First Child
Ext.getCmp('myAccordion').getLayout().setActiveItem(1); // 2nd Child and so on
0 голосов
/ 30 июля 2015

Я провел 6 часов, борясь с этим.collapse () и expand () не работают.Я бы развернул панель под аккордеоном, и другие панели сломались бы.

Наконец-то выяснилось, что существует некоторая проблема, которая возникает, если ваш аккордеон скрыт, а затем вы показываете () его прямо перед collapse () и расширяете () операции над подпанелями.

Мой обходной путь - никогда не устанавливать аккордеон на «скрытый = true» и никогда не показывать его ().Вместо этого я использовал style = {opacity: 0}, чтобы начать, а затем установил opacity: 100, когда мне нужно было его увидеть.Это все исправило, но не самое изящное решение.

...