ExtJs Panel.remove(subPanel, false)后子面板无法正常使用

[u]问题描述[/u]:
/**

  • 导航器面板(父容器) */ var westNavigator = new Ext.Panel({ // 左部导航栏 region:'west', // 布局方式为accordion layout:'accordion', id:'west-panel', title:'导航器', split:true, // cls: 'background-color: red;', // 是否可折叠 collapsible: true, // collapseMode : 'mini', // 是否动态的划出 animFloat:true, width: 200, minSize: 175, maxSize: 400, margins:'0 0 5 5', cmargins:'0 5 5 5', layoutConfig:{ animate:false, activeOnTop: false, fill:true }

/**

  • 子面板 */ var maintenanceOfHost = new Ext.Panel({ autoShow: true, id:'maintenanceItem|host', title: '主机维护' }) // 将子容器添加到父容器中,可以正常显示 westNavigator.add(maintenanceOfHost); // 尝试将子容器从父容器中删除,再添加到父容器中,不能正常显示 westNavigator.remove(maintenanceOfHost, false); // 不自动销毁 westNavigator.add(maintenanceOfHost);

[b]问题补充:[/b]
参考API,add(subPanel)后,调用了doLayout(),刷新了布局,仍然没有正常显示

这是我本地测试的代码,没问题,你跑下看看

[code="javascript"]Ext.onReady(function(){
Ext.BLANK_IMAGE_URL = '/images/s.gif';
//Ext.chart.Chart.CHART_URL = '/js/extjs/3.0/resources/charts.swf';
Ext.QuickTips.init();
var p2 = new Ext.Panel({
autoShow: true, html:'zzz',title:'zzz',id:'zzz'
})
var p = new Ext.Panel({
title:'Test',
height:300,
width:600,
renderTo:Ext.getBody(),
layout:'accordion',
layoutConfig:{
animate:false,
activeOnTop: false,
fill:true
},
items:[
{xtype:'panel',html:'xxx',title:'xxx'},
{xtype:'panel',html:'yyy',title:'yyy'}
],
buttons:[
{
text:'add',
handler:function(){
p.add(p2);
p.doLayout();
}
},{
text:'remove',
handler:function(){
p.remove(p2,false);
p.doLayout();
}
}
]
})
});[/code]

很多布局都不支持动态的