Sencha Touch在导航视图中自定义导航栏

时间:2012-04-03 14:04:09

标签: javascript html5 sencha-touch navigationbar

我正在做一个简单的应用程序,它有一个包含列表的导航视图,当你按下列表我想要显示一些HTML或其他东西,但是一个“新”窗口,所以我可以利用后面的按钮导航栏。

我现在的问题是我需要在导航栏上显示搜索字段,对于初始显示,问题是我不明白如何修改导航栏以便它获得搜索栏。这是我的代码:

Ext.define('AppName.view.MainNav', {
extend: 'Ext.navigation.View',

xtype: 'mainnav',

requires: [
    'Ext.field.Search', 'Ext.TitleBar'
],

config: {
    fullscreen: true,
    items: [
        {
        navigationBar: {
            xtype: 'titlebar',
            items: [
                { xtype: 'spacer' },
                {
                    xtype: 'searchfield',
                    placeHolder: 'Search...',

                    }
                },
                { xtype: 'spacer' }
            ]
        },

        xtype: 'list',
        fullscreen: true,

        store: {
            fields: ['name', 'number'],
            sorters: 'name',
            data: [
                {name: 'bla', number: 0},
                {name: 'blo', number: 1},
                {name: 'bliblo', number: 2},
                {name: 'Bliblablo', number: 3},
                {name: 'bliboasdas', number: 4},
            ]
        },

        itemTpl: '{name}'
        }
    ]
}

});

现在导航栏上没有搜索字段,它只是空的。我该如何解决?提前谢谢!

1 个答案:

答案 0 :(得分:5)

navigationBar配置必须在config标签内,此代码适用于我:

Ext.define('AppName.view.MainNav', {
extend: 'Ext.navigation.View',

xtype: 'mainnav',

requires: ['Ext.field.Search', 'Ext.TitleBar'],

config: {
    fullscreen: true,

    navigationBar: {
        items: [
            {
                xtype: 'searchfield',
                placeHolder: 'Search...',
                align: 'right'
            }
        ]
    },
    items: [
        {
            xtype: 'panel',
            html: 'test'
        },
        {
            xtype: 'list',
            fullscreen: true,

            store: {
                fields: ['name', 'number'],
                sorters: 'name',
                data: [
                    {name: 'bla', number: 0},
                    {name: 'blo', number: 1},
                    {name: 'bliblo', number: 2},
                    {name: 'Bliblablo', number: 3},
                    {name: 'bliboasdas', number: 4},
                ]
            },

            itemTpl: '{name}'
        }
    ]
}
});