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
我正在尝试 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