TabPanel 选项卡上的 itemId 被框架 "deleted" 了?

itemId on TabPanel's tabs is being "deleted" by the framework?

我正在尝试 fiddle 使用 SenchaCmd 6 在执行 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,因为支持多种语言时,其中的文本可能会发生变化。

您可能需要改用 tabchange 事件。

Fires when a new tab has been activated

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