我有一个带有“边框”布局的面板,有“中心”和“北”区域。 我想以编程方式崩溃北部地区,根据论坛,这样做的方法是:
container.layout.north.collapse();
但是,container.layout是一个字符串对象,因此container.layout.north给了我null对象。
是否有人有2秒指针指示如何获取正确布局对象的句柄以调用collapse()?
答案 0 :(得分:1)
最便宜的方法是通过拨打Ext.getCmp()
来获取所需的面板。对于你来说container.layout
是未定义的,因为它不是Ext.Component的对象。为您的边框面板或您需要访问的任何面板设置Id。
var panel = Ext.getCmp('BorderPanelId');
panel.layout.north.collapse();
另一种方法是使用北面板的Id。在这种情况下,您将:
var panel = Ext.getCmp('NorthPanelId');
panel.collapse();
另一种方法是成为ref
系统的用户。设置面板的ref属性。如果您可以访问组件的所有者..您可以简单地使用引用参考面板或其他组件。
答案 1 :(得分:1)
在Extjs 4中你可以这样做:
panel.getLayout().regions.north.collapse();
然后重新激活该区域:
panel.getLayout().regions.north.expand();
答案 2 :(得分:1)
使用Ext JS 4,您可以:
container.down('[region=north]').collapse();
这是最简单和推荐的方式。