在sencha touch中更改导航视图的按钮文本

时间:2014-09-15 09:03:21

标签: html5 extjs sencha-touch sencha-touch-2

我可以动态更改"后退按钮"导航视图中的文字??请分享相同的示例代码。

我不想使用:useTitleForBackButtonText - 因为我的标题中包含出现在后退按钮中的特殊字符。

如何手动设置后退按钮文本 - 类似于

this.getNavBar()。getbackbutton()。setText ???

我试过

this.getAppNav()。getNavigationBar()。setBackButton(' {' align:' left',ui:' back',hidden:true&# 39;}&#39)

它提供了一个"意外标识符"错误

http://docs.sencha.com/touch/2.3.1/#!/api/Ext.navigation.Bar-cfg-backButton提供有关私有的setBackButton方法的更多信息!

1 个答案:

答案 0 :(得分:0)

我在我的应用中创建了顶部导航按钮作为视图

<强> TopNavigationView

Ext.define('MyApp.view.TopNavigationView', {
    extend: 'Ext.Panel',
    xtype: 'topnavigationview',
    requires: [
        'Ext.TitleBar',
        'Ext.Img'
    ],
    config: {
        layout: {
            type: 'vbox'
        },
        items: [
            {
                xtype:'toolbar',
                docked:'top',
                height: 44,
                scrollable: false,
                layout:{
                    type:'hbox',
                    pack:'center',
                    align:'center'
                },
                items:[

                    {
                        xtype:'button',
                        iconCls: 'settings',
                        name: 'btnSetting'
                    },   

                    {
                        xtype:'button',
                        cls: 'btnBackCls',
                        name: 'btnBack'
                    },
                    {
                        xtype:'spacer'
                    },
                    {
                        xtype:'label',
                        name: 'lblViewDescription'
                    },
                    {
                        xtype:'spacer'
                    },
                    {
                        xtype:'button',
                        cls: 'btnLogoutCls',
                        name: 'btnLogout'
                    }

                ]
            }
        ]
    },
    initialize: function() {
        var me = this;
        me.callParent(arguments);
    }
});

的TestController

我创建了这个函数,它会动态更改标题栏/显示或隐藏后退按钮

setTopNavigationBarValues : function() {
        //Configure top navigation bar
        var lblViewDescriptionValue = Ext.ComponentQuery
                .query('label[name=lblViewDescription]');
        for (var i = 0; i < lblViewDescriptionValue.length; i++) {
            lblViewDescriptionValue[i].setHtml('TEST');
            lblViewDescriptionValue[i].setCls('toolbarTitleCls');
        }
        var btnBack = Ext.ComponentQuery.query('button[name=btnBack]');
        for (var j = 0; j < btnBack.length; j++) {
            btnBack[j].show();
        }
        var btnSetting = Ext.ComponentQuery.query('button[name=btnSetting]');
        for (var j = 0; j < btnSetting.length; j++) {
            btnSetting[j].hide();
        }
    },

通过调用this.setTopNavigationBarValues();控制器内部

最后在整个项目中包括这个topnagivationview,即在视图中

<强> Subview.js

     {
          xtype: 'topnavigationview'
      },