无法在 Extjs 3 中已经将面板作为其项目的另一个面板内添加面板

unable to add panel inside another panel which already has panels as its item in Extjs 3

var len = panel.items.items.length;
if(len < 15){
panel.add(this.childPanel);
panel.doLayout();
}

//执行doLayout()后面板内的item保持不变

问题出在 childPanel 的创建上。在创建子面板时,我通过为其提供索引使 childPanel 的 id 字段动态化。

 ChildPanel.superclass.constructor.call(this, {
    id : 'panel'+this.index,
    items : []
 });

这样创建的每个子面板将具有不同的 ID。

var len = panel.items.items.length;
if(len < 15){
panel.add(this.childPanel);
panel.doLayout();
}

此代码之后运行完美!