我无法在标签面板中更改标签栏标题。
编辑:我正在开发一个测试应用程序,它包含一个主选项卡面板,其中包含其他三个视图,类似于sencha-touch文档的“入门视频”。
现在,出于本地化目的,我需要在标签栏的图标下改变标签,代表面板的三个链接。
在下面的代码中,我试图通过更改相关视图的标题来更改第一个按钮的标签,因为标签显示“Home”,即视图的标题。 我想在视图的“激活”事件上这样做。 此代码的结果是,如果我记录主视图的标题,它会被更改,但标签栏按钮标签保持不变。
我认为我错过了“刷新”按钮之类的东西,但我在文档上找不到关于此主题的任何内容。 我希望这个编辑能更好地解释我的问题。
以下是代码:
Ext.define('lvzMobile.view.Main', {
extend: 'Ext.tab.Panel',
requires: ['Ext.TitleBar'],
xtype: 'main',
config: {
tabBarPosition: "bottom",
items: [
{
xtype: 'homePanel',
id: 'home',
},
{
xtype: 'catalogue',
id: 'catalogue'
},
{
xtype: 'infoPanel',
id: 'info'
}
],
listeners: {
activate: function() {
console.log("activate");
this.getAt(0).setTitle("emoh");
//the title changes but nothing happens in the tabbar...
}
}
}
});
拜托,你能帮助我吗?我无法理解什么是错的。
答案 0 :(得分:3)
该行说:
this.getAt(0).setTitle('emoh')
...会更改panel
的标题,但不会更改按钮本身的标题。要更改按钮文本,请使用:
this.getTabBar().getAt(0).setTitle('emoh')
Here's a fiddle with your code来演示。
虽然有,但请注意:使用alias: 'widget.main'
代替xtype: 'main'
。 xtype
用于配置,alias
用于定义别名,后者随后可以使用xtype
(使用前缀widget.
作为窗口小部件,{{1}用作商店等。)。