其主要思想是新的TabContainer的扩展类,重载其closeChild属性,使得其在关闭子容器时。不调用该子容器的destroyRecursive方法。
define([ "dojo/_base/declare", "dijit/layout/TabContainer"
], function(declare,TabContainer) {
return declare("comm.comm.ExTabContainer", TabContainer, {
closeChildAction:"destroy",
closeChild: function(/*dijit/_WidgetBase*/ page){
// summary:
// Callback when user clicks the [X] to remove a page.
// If onClose() returns true then remove and destroy the child.
// tags:
// private
var remove = page.onClose && page.onClose(this, page);
if(remove){
this.removeChild(page);
if (this.closeChildAction=="destroy"){
// makes sure we can clean up executeScripts in ContentPane onUnLoad
page.destroyRecursive();
}
}
}
});
});
然后创建TabContainer的方法例如以下:
var tc=new ExTabContainer({
style : "height: 100%; width: 100%;",
isLayoutContainer : true,
region : 'center',
closeChildAction:"hide"
});
版权声明:本文博主原创文章,博客,未经同意不得转载。