当面板已经渲染到其他div时,如何将面板重新渲染到不同的div

时间:2009-03-10 10:12:08

标签: javascript extjs updatepanel rendering panel

我创建了一个Ext.Panel对象,它正确呈现到我页面上的指定div元素。

我想将面板对象底层元素(先前渲染的div元素)替换为另一个将动态识别的div。

这里我不想再通过指定标识的div元素再次创建Panel对象,我需要使用现有的panel对象,并且需要在所识别的div存在的位置显示该面板。

任何人都可以帮我解决这个问题。

由于 Venkat

1 个答案:

答案 0 :(得分:1)

如果您将面板创建为自定义扩展程序,并使用它自己的命名空间:

Ext.namespace('My.Panel');

My.Panel.SomePanel = Ext.extends(Ext.Panel,{
    // Your custom panel configuration here
    itemId:'myPanel'
});

Ext.reg('mypanel',My.Panel.SomePanel);

然后您可以在需要时创建面板,甚至可以通过您注册的xtype引用它:

var myWin = new Ext.Window({
    title:'Some Title',
    height: 300,
    width: 300,
    items:[{
        xtype: 'mypanel',
        data: someData
    }]
});

var myTabs = new Ext.TabPanel({
    title: 'Some Tab Panel',
    activeTab: 0,
    items:[{
        xtype: 'mypanel',
        title: 'SomePanel number 1'
    }]
});