在Ext.Menu内部的Sencha Touch DataView

时间:2014-03-06 20:12:04

标签: extjs sencha-touch

我有DataView列出了一堆component.DataItems。虽然我在NavigationView中显示这个项目列表没有问题,但我似乎无法在Ext.Menu

中显示它们
Ext.define('AIN.view.MyDataView', {
extend: 'Ext.dataview.DataView',
xtype: 'channellist',
config: {
    defaultType: 'mylistitem',
    useComponents: true
},
});

这是我需要显示DataItems的菜单

Ext.define('AIN.view.SlideNavigation', {
requires: ['Ext.Menu'],
singleton: true,
constructor: function(config) {
    this.initConfig(config);
},
layout : 'fit',
width  : 250,
setMenu: function() {
    Ext.Viewport.setMenu(this.createMenu('left'), {
        side: 'left',
        reveal: true
    });

    Ext.Viewport.setMenu(this.createMenu('right'), {
        side: 'right',
        reveal: true
    });
},

createMenu: function(side) {

    var items = [
        //Components need to be displayed here (I think)
        {
            xtype: 'button',
            text: 'Latest News',
            iconCls: 'star',
            scope: this,
            handler: function() {
                 AIN.container.setActiveItem(0);
                 Ext.Viewport.hideMenu(side);
            }
        },
    ];

    var className = 'Ext.Menu';

    return Ext.create(className, {


        items: items
    });
}
});

感谢您的阅读。

1 个答案:

答案 0 :(得分:0)

嗯,这是一个非常简单的修复,我不能同时拥有那个按钮项和var项中的列表。如果按钮在那里,那么列表没有出现。所以修复就是删除这段代码。

    {
        xtype: 'button',
        text: 'Latest News',
        iconCls: 'star',
        scope: this,
        handler: function() {
             AIN.container.setActiveItem(0);
             Ext.Viewport.hideMenu(side);
        }
    },

并添加此代码

    {
        xclass: 'AIN.view.MyDataView',
        store: 'TestStore'
    }