3

我有一个窗口,我在其中渲染了许多组件,例如面板等。

有没有办法可以隐藏窗口中包含的所有组件而不必单独隐藏它们?就像是,

Ext.getComponent('myWindow').hideAllComponents();

我正在使用 extjs 3.4。

4

3 回答 3

2

尝试为您的容器设置样式

Ext.get('myWindow').setStyle('display','none');
于 2013-06-26T07:57:51.427 回答
2

如果我理解正确,您不想隐藏窗口,而是隐藏窗口中的元素。所以可以这样做:

// get window, get element, get all direct children with css selector '*'
var children = Ext.get('myWindow').getEl().down('*')

// hide them all
Ext.each(children,function(child){child.hide();});
于 2013-06-26T10:02:53.643 回答
1

假设myWindow是对您的窗口的引用,您可以使用:

Ext.each(myWindow.items.items, function(cmp) { cmp.hide(); });

其他答案提到Ext.get但它检索 DOM 元素,而不是组件。

参见:ExtJS 隐藏所有子组件

于 2014-02-26T22:56:52.143 回答