Sencha Touch - 可滚动的侧边菜单,宽度与儿童相同

时间:2014-10-25 00:27:45

标签: extjs sencha-touch-2

我在Sencha Touch中有一个侧边菜单,当它出现时,其宽度与最宽的孩子相同。据我所知,Sencha Touch默认这种行为是我需要的。

现在我希望我的侧边菜单也可以滚动。当我使用该属性时,可滚动的'我的菜单,我必须使用属性'宽度'或者它根本不会出现。

问题是如何使我的侧边菜单的宽度与之前的最宽的孩子一样,但是具有可滚动的属性?所以基本上我只想要与添加可滚动属性和宽度之前完全相同的行为。 (我不希望它会是一个恒定的大小,因为孩子的宽度根据视口动态变化,我不希望它会以百分比形式出现。)

Ext.application({
name: 'Test',

launch: function() {

    // Create basic panel
    Ext.Viewport.add({
        xtype: 'panel',
        items: [{
            xtype: 'titlebar',
            title: 'Native Side Menu',
            items: [{
                xtype: 'button',
                iconCls: 'list',
                handler: function() {
                    Ext.Viewport.toggleMenu('left');
                }
            }]
        }],
        listeners: {

            swipe: {
                element: 'element',
                fn: function(event, node, options, eOpts) {
                    if (event.direction == 'right') {
                        Ext.Viewport.showMenu('left');
                    } else {
                        Ext.Viewport.hideMenu('left');
                    }
                }
            }
        }
    });

    // Create native side menu
    var sideMenu = Ext.create('Ext.Menu', {
        //scrollable : true,      // try to run it commented to see the behavior without 
        //width: '220px',         // scrollable property and then uncomment to see what I mean 
        items: [
            { text: 'Settings' },
            { text: 'New Item' },
            { text: 'Star' }
        ]
    });


    // Add side menu to viewport
    Ext.Viewport.setMenu(sideMenu, {
        side: 'left',
        reveal: true
    });

}
});

0 个答案:

没有答案