我对Extjs有点陌生,我试图找出显示/隐藏元素的正确方法。

我具有以下要素:

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

在我的控制器中,我具有以下参考设置:

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

每个面板在底部都有一个窗体和两个按钮。 面板2隐藏在开头。 现在,我想显示面板2并隐藏面板1。首先,我尝试:

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

...那什么也没做。 然后,我发现了这个SO问题并尝试了以下方法:

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

除了不能同时显示Panel2中的按钮之外,它部分起作用。 我是否应该获取每个元素并对其进行show() 我肯定错过了什么。

===============>>#1 票数:2

尝试:

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

===============>>#2 票数:2 已采纳

我的两个问题项的父面板是一个layout: 'card' 根据卡片布局上sencha文档,一次只能显示一个面板。 因此,显示其他项目的正确方法不是通过show / hide函数,而是调用PARENT_PANEL.getLayout().setActiveItem(n); 这导致我的p2面板始终处于隐藏状态,而不受show()方法的影响。

  ask by Evan Siroky translate from so

未解决问题?本站智能推荐: