0

我试图摆弄 SenchaCmd 6 在执行 a 时生成的股票应用程序,sencha app generate并且我正在侧菜单选项卡上添加点击事件,如下所示:

Ext.define('UserManager.view.main.Main', {
    extend: 'Ext.tab.Panel',
    xtype: 'app-main',
    ...
    listeners: { 
    render: 'onMenuRender'
    }
});

控制器中的 onMenuRender 方法:

onMenuRender: function (tabPanel, a) {
    tabPanel.items.each(function(item) {
        item.tab.on('click', this.onTabItemClick);
    }, this);
}

onTabItemClick:

onTabItemClick: function(tabItem, a) {
    alert(tabItem.itemId);
}

问题是itemId我在视图配置中分配值的任何成员变量在控制器中一次不可用并且总是undefined

这是一个示例选项卡:

{
    title: 'Users',
    itemId: 'usersTab',
    iconCls: 'fa-user',
    items: [{
        xtype: 'mainlist'
    }]
}

我错过了什么?为了区分单击了哪个项目,我不想使用它,id因为它是由框架自动生成的,也title因为支持多种语言时其中的文本可能会发生变化。

4

1 回答 1

2

您可能希望改用该tabchange事件。

当新标签被激活时触发

一个工作示例(带有itemId):https ://fiddle.sencha.com/#fiddle/101j

于 2015-10-25T14:01:15.743 回答