0

我对 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 question并尝试了以下内容:

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

这部分有效,只是它未能在 Panel2 中显示按钮。我应该得到每一个元素和show()它们中的每一个吗?我肯定错过了什么。

4

2 回答 2

2

尝试:

this.getP1().hide(); //the first letter should be uppercase
this.getP2().show();
于 2013-04-18T15:30:37.500 回答
2

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

于 2013-04-18T16:40:30.397 回答