2013-04-17 150 views
0

我對Extjs有點新,我試圖找出顯示/隱藏元素的正確方法。Extjs正確顯示/隱藏的方式

我有以下元素:

layout: 'card', 
items: 
[ 
{ 
    xtype: 'Panel1' 
}, 
{ 
    xtype: 'Panel2' 
} 
] 

以我控制器I有這些引用設置:

refs: [ 
{ 
ref: 'p1', 
selector: 'Panel1' 
}, 
{ 
ref: 'p2', 
selector: 'Panel2' 
} 
], 

每個面板具有這樣的形式,並在底部兩個按鈕。面板2在開始時隱藏。現在我想要顯示面板2並隱藏面板1.首先,我嘗試過:首先我試過:

this.getp1().hide(); 
this.getp2().show(); 

...而且什麼也沒做。然後,我發現this SO question和嘗試了以下內容:

this.getp1().getEl().hide(); 
this.getp2().getEl().show(); 

但它沒有也顯示是Panel2按鈕這部分工作。我應該得到每一個元素和show()他們每個人?我肯定錯過了什麼。

+0

不,你最應該顯示/隱藏組件。沒有足夠的信息。 –

+0

需要額外的信息? –

+1

一個可行的例子,你不能只發布那樣的小片段。 –

回答

2

我的兩個問題項目的父面板是layout: 'card'的。根據sencha docs on the Card layout,一次只能顯示一個面板。因此,顯示其他項目的正確方法不是通過顯示/隱藏功能,而是調用 PARENT_PANEL.getLayout().setActiveItem(n);這導致我的p2面板始終處於隱藏狀態,並且不受show()方法的影響。

2

嘗試:

this.getP1().hide(); //the first letter should be uppercase 
this.getP2().show();