Sencha touch 2 将(右)按钮添加到Sencha导航视图

Sencha touch 2 将(右)按钮添加到Sencha导航视图,sencha-touch-2,Sencha Touch 2,我想根据Im显示的视图,动态地向活动导航视图添加(右对齐)按钮。有什么合适的方法吗?我在网上找到了许多半真半假的好例子,但都没有成功。以下是我尝试过的: Ext.define('Sencha.view.user.Login', { extend:'Ext.navigation.View', //fullscreen: true, xtype: 'loginview', requires:[ 'Ext.form.FieldSet', 'Ext.field.Email',

我想根据Im显示的视图,动态地向活动导航视图添加(右对齐)按钮。有什么合适的方法吗?我在网上找到了许多半真半假的好例子,但都没有成功。以下是我尝试过的:

Ext.define('Sencha.view.user.Login', {
extend:'Ext.navigation.View',
//fullscreen: true,
xtype: 'loginview',

requires:[
    'Ext.form.FieldSet',
    'Ext.field.Email',
    'Ext.field.Password'
],
config: {
    title: 'Log in',
    iconCls: 'use',
    cls: 'kidsbackground',
    scrollable: false,
    navigationBar: {
        items: [

        ]
    },
    items:[
        {
            xtype: 'loginform'
        }
    ]
},
addRightButton:function(button){
    var navigationBar = this.config.navigationBar;
    console.log("navigationBar: "+navigationBar);
    var rightButton = Ext.Button.create({
        xtype: 'button',
        ui: 'action',
        iconCls: 'action',
        iconMask: true,
        align: 'right' });

    console.log("rightButton: "+rightButton);
    //navigationBar.addItem(rightButton);

    var oNavigationbar = {
        docked: 'top',

        backButton : {
            margin: 7,
            docked: "left",
            ui : 'back'
        },
        items: [
            Ext.create("Ext.Button", {
                text: "Button1"
            }),
            Ext.create("Ext.Button", {
                text: "Button2",
                align: "right"
            })
        ]
    };
    this.setNavigationBar(oNavigationbar);
    /*this.setNavigationBar({
        items: [
            {
             id: 'rightButton',
             xtype: 'button',
             text: 'yes!'
             //placeHolder: 'Search...',
             //align: 'right'
             }
        ]
    });*/
    console.log("wow, no crash, really ?");
}
});
当我运行上述代码时,会出现奇怪的错误,其中之一是(请参阅附件):

您可以在以下浏览器上尝试此代码(在Chrome开发者工具控制台中):

它基本上得到
导航视图
,然后是该视图的导航栏,最后添加按钮

这是向导航栏添加按钮的正确方法

希望这有不同的帮助

var navigationView = Ext.create('Ext.NavigationView',
{
  useTitleForBackButtonText: false,
  scrollable: false,
  layout:
  {
    type: 'card',
    animation: null
  },
  navigationBar:
  {
    items:
    [
      {
        xtype: 'togglefield',
        name: 'smsmode',
        align: 'right',
        value: 0,
        disabled: true
      },
      {
        text: '',
        iconCls: 'delete',
        align: 'right',
        ui: 'back',
        listeners:
        {
          tap: function()
          {
            navigator.app.exitApp();
          }
        }
      }
    ]
  }
});

酷!正在尝试。您知道这个示例的源代码是否可以在git hub上获得吗?如果是的话,你知道这个网址吗?现在测试一下,效果很好!当我点击左对齐的后退按钮时,你知道我是如何删除它的吗?当你下载Sencha Touch时,你会得到一个包含20多个示例的示例/文件夹。
var navigationView = Ext.create('Ext.NavigationView',
{
  useTitleForBackButtonText: false,
  scrollable: false,
  layout:
  {
    type: 'card',
    animation: null
  },
  navigationBar:
  {
    items:
    [
      {
        xtype: 'togglefield',
        name: 'smsmode',
        align: 'right',
        value: 0,
        disabled: true
      },
      {
        text: '',
        iconCls: 'delete',
        align: 'right',
        ui: 'back',
        listeners:
        {
          tap: function()
          {
            navigator.app.exitApp();
          }
        }
      }
    ]
  }
});