Javascript ExtJS手风琴布局隐藏子元素

Javascript ExtJS手风琴布局隐藏子元素,javascript,extjs,accordion,Javascript,Extjs,Accordion,如何使用**手风琴布局**t覆盖计算下一个展开/折叠子面板的逻辑? 我对它感兴趣是因为无法在不违反“可见面板的展开/折叠”的情况下隐藏用户聊天序列器子面板 MenuBoxPanel = Ext.create('Ext.panel.Panel', { width: 300, layout: { type:'accordion', multi: false }, region: 'west', items: [{

如何使用**手风琴布局**t覆盖计算下一个展开/折叠子面板的逻辑? 我对它感兴趣是因为无法在不违反“可见面板的展开/折叠”的情况下隐藏用户聊天序列器子面板

MenuBoxPanel = Ext.create('Ext.panel.Panel', {
    width: 300, 
    layout: {
        type:'accordion',
        multi: false
    },
    region: 'west', 
    items: [{
        xtype: 'panel',
        title: 'Panel 1'
    }, {
        xtype: 'panel',
        title: 'Panel 2'
    }, {
        xtype: 'panel',
        title: 'Panel 3'
    }, {
        xtype: 'panel',
        title: 'Panel 4'
    }]
});
var viewport = Ext.create('Ext.container.Viewport', {
    layout: 'border',
    minHeight: 420,
    items: [MenuBoxPanel],
    renderTo: Ext.getBody()
});
MenuBoxPanel.items.items[1].hide();

这似乎是一个bug。项目的
collapsed
属性设置为“top”,而
isCollapsingOrExpanding
属性设置为1。如果将
collapsed
属性设置为true,并且
isCollapsingOrExpanding=undefined
将再次工作:),那么在隐藏后,可以尝试将这些设置为这些值,然后再次工作


现在还不清楚你想达到什么目的……你能分步骤描述这个场景吗?:)您有一个手风琴,其中第一项是展开的。隐藏第二项。。。你希望发生什么?我需要能够隐藏用户手风琴元素,而不从面板中删除它们,而切换到子元素应该忽略隐藏的元素。屏幕截图显示,这种情况不会发生,在切换元素后,隐藏元素不会被忽略。我很抱歉我的英语)但在显示隐藏的项目后,错误再次出现。奇怪,但在显示这些(隐藏)元素后,这些元素称为展开项的折叠事件。
var menuBoxPanel = Ext.create('Ext.panel.Panel', {
    width: 300, 
    layout: {
        type:'accordion',
        multi: false
    },
    region: 'west', 
    items: [{
        xtype: 'panel',
        title: 'Panel 1'
    }, {
        xtype: 'panel',
        title: 'Panel 2'
    }, {
        xtype: 'panel',
        title: 'Panel 3'
    }, {
        xtype: 'panel',
        title: 'Panel 4'
    }]
});
var viewport = Ext.create('Ext.container.Viewport', {
    layout: 'border',
    minHeight: 420,
    items: [menuBoxPanel],
    renderTo: Ext.getBody()
});
setTimeout(function(){
    var item = menuBoxPanel.items.getAt(1).hide();
    item.collapsed = true;
    item.isCollapsingOrExpanding = undefined;
}, 2000);