日期:2014-05-16  浏览次数:20398 次

extjs tab panel两种加载方式
1.单页面autoLoad
nodeOnClick : function(node){
if(node.hasChildNodes()) return;
var o = Ext.getCmp(node.id);
if(!o){
o = this.tabPanel.add({
id : node.id,
title : node.text,
closable : true,
autoLoad : {url:node.attributes.url,scripts:true,scope:this}
});
}
this.tabPanel.setActiveTab(o);
this.tabPanel.doLayout();
}
2.
function createTabpanel(account){
        var panel = tabpanel.getComponent(account.account_id);
        if(panel){
            //tabpanel.hideTabStripItem(panel);//
            tabpanel.unhideTabStripItem(panel);
            tabpanel.setActiveTab(panel);
        }else{
            panel = new Ext.Panel({
                id:account.account_id,
                html:account.account_id,
                title:'帐户:' + account.account_id + '帐户关系',
                closable:true
               
            });
           
           
           
            tabpanel.add(panel);
            tabpanel.setActiveTab(panel);
            panel.on('beforeclose',function(p){
                tabpanel.hideTabStripItem(p);
                tabpanel.syncSize();
                return false;
            })
        }
    }

页面可以缓存起来,提高效率,同时没有销毁 不会报错,