2013-06-26 2 views
3

패널과 같은 여러 구성 요소를 렌더링하는 창이 있습니다.ExtJS. 컨테이너 내의 모든 구성 요소 숨기기

개별적으로 숨길 필요없이 창에 포함 된 모든 구성 요소를 숨길 수있는 방법이 있습니까? 예 :

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

저는 extjs 3.4를 사용하고 있습니다.

+0

왜 컨테이너의 모든 구성 요소를 만든 다음 숨길 수 있습니까? – Aminesrine

답변

2

에 대한 스타일 나는 당신이 바로, 당신이 당신의 창을 숨기려하지 않는 이해하면, 그러나 당신의 창에서 요소. 그래서이 작업을 수행 할 수 있습니다

myWindow 가정
// 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();}); 
+0

창이 숨겨져있을 때 창에 포함 된 모든 하위 항목을 숨기려고합니다. 당신이 창문의 아이들을 숨기기 위해 제안한 것과 비슷한 방법을 사용했지만, 쉽고 빠르며 더 나은 방법이 있는지 알고 싶었습니다. 이 방법에서는 여전히 수동으로 어린이를 숨기고 있습니다. –

2

시도 설정 컨테이너

Ext.get('myWindow').setStyle('display','none'); 
+0

ExtS 3.4의 문서에서 setStyle 함수를 찾을 수 없습니다. –

1

는 윈도우에 대한 참조입니다, 당신은 사용할 수 있습니다

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

다른 답변 Ext.get을 언급하지만 DOM 요소가 아닌 구성 요소를 검색합니다.

다음을 참조하십시오. ExtJS hide all child components

관련 문제