问题已经解决, 不管怎样,谢谢:)
我有一个Ext.Window对象。 类似的东西:
var mypanel= new Ext.Panel({title:'Placeholder'});
var cwin = new Ext.Window({
layout:'fit',
width:screen.width-200,
x:200,
y:150,
draggable: false,
closable: false,
resizable: false,
plain: true,
border: false,
items: [mypanel]
});
当用户触发特定事件时,我正在尝试将“mypanel”替换为另一个Ext.Panel对象。 所以我想我可以删除mypanel而不是添加一个新的面板。 我得到了删除工作。 然而,添加是一个不同的故事, 我已经尝试了以下方向:
mypanel= new Ext.Panel({title:'my new Panel'});
cwin.add(mypanel); //dit nothing
cwin.items.add(mypanel); //dit nothing
cwin.insert(0,mypanel); //dit nothing
cwin.items.insert(0,mypanel); //dit nothing
对于替换现有面板或添加新面板的任何答案,我都会感到满意。
谢谢。
答案 0 :(得分:3)
添加项目后,您应该在容器上调用doLayout()。
// remove actual contents
cwin.removeAll();
// add another panel
cwin.add( new Ext.Panel({title:'my new Panel',width:300,height:400}) )
// repaint with new contents
cwin.doLayout();
应该做的伎俩