在EXTJS中显示后,最初隐藏的项目不会出现在溢出菜单中

时间:2014-07-29 13:42:57

标签: extjs

我有一个工具栏,其中包含默认隐藏的按钮,然后根据用户的权限显示。它们在调用.show()之后出现并运行,但在调整窗口大小时不会出现在溢出菜单中。最初显示的项目正确显示在溢出菜单中。

关于如何解决这个问题的任何建议?

由于

编辑:这是我能想出的最简单的例子,可以解决这个问题。 https://fiddle.sencha.com/#fiddle/877

Ext.onReady(function(){

var toolbar1 = Ext.create('Ext.toolbar.Toolbar', {
    region: 'north',
    layout: {
            overflowHandler: 'Menu'
        },
    items: [{
        xtype: 'textfield',
        emptyText: 'FIX ME'
    },{
        xtype: 'button',
        text: 'Test Lists',
        id: 'testListsButton',
        hidden: true
    },{
        xtype: 'button',
        text: 'All Lists',
        id: 'allListsButton',
    },{
        xtype: 'button',
        text: 'Other Lists',
        id: 'otherListsButton',
        hidden: true
    },{
        xtype: 'button',
        text: 'Email Lists',
        id: 'emailListsButton',
        hidden: true
    }]
});

Ext.getCmp('emailListsButton').show();
Ext.getCmp('otherListsButton').show();
Ext.getCmp('testListsButton').show();


    var viewPort = Ext.create('Ext.container.Viewport', {
        layout: 'border',
        autoRender: true,
        items: [
            toolbar1
        ]
    });
})

1 个答案:

答案 0 :(得分:1)

我找到了解决办法。

我将项目设置为最初可见,在呈现之前隐藏它们,然后在检查用户权限时再次显示它们。这将正确显示溢出菜单中的项目。

看起来这是一个错误,都是一个小错误。