【问题标题】:sencha touch how to change titles in tab barsencha touch 如何更改标签栏中的标题
【发布时间】:2013-01-10 16:04:33
【问题描述】:

我无法更改选项卡面板中的选项卡标题。

编辑:我正在开发一个测试应用程序,它包含一个带有其他三个视图的主选项卡面板,类似于 sencha-touch 文档的“入门视频”。

现在,出于本地化目的,我需要动态更改选项卡栏图标下的标签,代表面板的三个链接。

在下面的代码中,我尝试通过更改相关视图的标题来更改第一个按钮的标签,因为标签显示“主页”,即视图的标题。 我想在视图的“激活”事件上执行此操作。 这段代码的结果是,如果我记录主视图的标题,它会改变,但标签栏按钮标签保持不变。

我认为我错过了“刷新”按钮之类的东西,但我在文档中找不到关于此主题的任何内容。 我希望这个编辑能更好地解释我的问题。

代码如下:

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... 
        }
    }
}
});

拜托,你能帮帮我吗?我不明白出了什么问题。

【问题讨论】:

  • 您希望在标签栏中发生什么...?
  • 我希望“Home”图标下的标签显示文字“emoh”,请参考这张图片:i46.tinypic.com/2i7pn7.jpg

标签: extjs sencha-touch touch tabbar


【解决方案1】:

上面写着:

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. 用作小部件,store. 用作商店等.).

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-17
    • 2012-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多