ExtJS手风琴setActiveItem

时间:2010-09-07 14:28:35

标签: javascript extjs accordion

我正在使用ExtJS开发一个应用程序。 我有一个手风琴,需要选择一个活动项目(所以它扩展)。 Accordion.setActiveItem输出以下内容:

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

第二个问题是hideCollapseTool属性,在初始化时设置为true,不执行任何操作。折叠工具仍在显示中。

我正在使用ExtJS 3.1.1。 我会非常感谢任何提示和答案。

5 个答案:

答案 0 :(得分:6)

我自己与setActiveItem运气不佳。在Firebug中进行检查,手风琴专家组甚至没有这种方法。

我所做的就是在我想要关注的项目上调用expand(), 例如:

accordion.items.itemAt(2).expand();

答案 1 :(得分:2)

您还可以通过它的组件ID扩展手风琴面板中的某个项目:

Ext.getCmp('myAccordion').expand();
Ext.getCmp('myAccordion').items.key('myAccordionPanel').expand();

答案 2 :(得分:2)

我在一个名为 userview

的引用的控制器中修复了它
this.getUserview().items.items[1].expand();

答案 3 :(得分:1)

Ext.getCmp('myAccordion').getLayout().setActiveItem(0); // First Child
Ext.getCmp('myAccordion').getLayout().setActiveItem(1); // 2nd Child and so on

答案 4 :(得分:0)

我花了6个小时摔跤。 collapse()和expand()似乎没有起作用。我将在手风琴下扩展一个面板,其他面板将会破坏。

最后发现如果您的手风琴被隐藏,然后您在子面板上的collapse()和expand()操作之前显示()它会发生一些问题。

我的解决方法是永远不要将手风琴设置为“hidden = true”并且永远不要显示()它。相反,我使用style = {opacity:0}开始,然后设置不透明度:100,当我需要看到它时。这解决了一切,但不是最优雅的解决方案。