dojo的TabContainer中增加的ContentPane如果是closable,如何在关闭后不销毁ContentPane

前端之家收集整理的这篇文章主要介绍了dojo的TabContainer中增加的ContentPane如果是closable,如何在关闭后不销毁ContentPane前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

主要思路是新建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%;",sans-serif; font-size:13px"> isLayoutContainer : true,sans-serif; font-size:13px"> region : 'center',sans-serif; font-size:13px"> closeChildAction:"hide"
});

猜你在找的Dojo相关文章