我有一个添加到视口的regionContent面板。

如何用新内容替换其内容?

    ...
    var regionContent = new Ext.Panel({
        id: 'contentArea',
        region: 'center',
        padding:'10',
        autoScroll: true,
        html: 'this is the original content'
    });

    var viewport = new Ext.Viewport({
        layout: 'border',
        items: [ regionMenu, regionContent ]
    });

    var newPanel = new Ext.Panel({
        region: 'east',
        title: 'Info Panel',
        width: 300,
        html: 'this is a panel that is added'
    });
    // regionContent.update(newPanel); //renders as javascript code ???
    // regionContent.remove(...) //how do I remove ALL CONTENT, I will not know what is in this panel to remove it specifically
    regionContent.add(newPanel); //adds to original content but does not replace it
    regionContent.doLayout();
    ...


.update()这样做:



.add()这样做:

最佳答案

您将要使用带有卡片布局的面板:

var card=new Ext.Panel({
    layout:'card',
    activeItem:0,
    items:[ regionContent , newPanel ]
});


然后,该面板可以进入视口内部。要在它们之间切换,您将使用类似以下的内容:

card.getLayout().setActiveItem(1);


看一下两个纸牌布局的工作示例:
http://dev.extjs.com/deploy/dev/examples/layout-browser/layout-browser.html

10-07 13:43
查看更多