【问题标题】:Display a View using form.show() - Logic issue使用 form.show() 显示视图 - 逻辑问题
【发布时间】:2012-07-04 14:34:00
【问题描述】:

persomview 是 View 类的 ID。其部分定义如下;

Ext.define('ProjPerson.view.person.PersonTab' ,{
    extend:'Ext.tab.Panel',
    alias : 'widget.ptab',
    id:'ptabid', ......

现在从另一个视图类 Controller 方法中,我正在调用 PersonTab 以使用以下代码显示;

var form = Ext.getCmp('ptabid');
form.show();

然后在萤火虫它说form is not defined。我该如何解决这个问题?

【问题讨论】:

  • Ext.getCmp() 查找组件实例。仅仅定义一个类并不意味着Ext.getCmp() 会找到它。你的视图类被渲染了吗?
  • 我可以form.hide(),但不能show.show()。如果我能做到这一点,那就太好了

标签: extjs extjs4 extjs-mvc extjs4.1


【解决方案1】:

定义 itemId 并将其与 getCmp 一起使用

itemId:'ptabid',

当没有可用的对象引用时,可以使用 itemId 作为获取组件引用的替代方法。 http://docs.sencha.com/ext-js/4-1/#!/api/Ext.tab.Panel-cfg-itemId

如果你想找到活动标签,你可以使用

Ext.getCmp('center-region').getActiveTab()

这里的“中心区域”来自布局。使用您在那里使用的适当布局区域。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-31
    • 1970-01-01
    • 1970-01-01
    • 2011-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多