问题已经解决了, 不管怎样,谢谢:)
我有一个 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]
});
当用户触发特定事件时,我尝试用另一个 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
对于更换现有面板或添加新面板的任何答案,我都会很高兴。
谢谢。
最佳答案
添加项目后,您应该在容器上调用 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();
应该可以解决问题
关于javascript - 在 Ext JS 中的窗口内添加或替换新面板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4803249/