我正在使用popover模板。
我的模板html中有3个内容窗格。
每个内容窗格都有小部件。
我需要根据某些逻辑隐藏/显示内容窗格。
在setValues
方法中,我能够删除选项卡,但我需要将它们添加回destroy方法中,该方法无法正常工作,即没有任何反应,并且它们会继续被删除。
怎么做?可见性/样式在内容窗格上不起作用。
我的代码:
setValues:
var tabContainer = dijit.byId(this.id + "_tab");
var tab2 = dijit.byId(this.id + "_SQLID2");
var tab3 = dijit.byId(this.id + "_SQLID3");
// Removing it:
tabContainer.removeChild(tab2);
tabContainer.removeChild(tab3)
destroy:
var tabContainer = dijit.byId(this.id + "_tab");
var tab2 = dijit.byId(this.id + "_SQLID2");
var tab3 = dijit.byId(this.id + "_SQLID3");
tabContainer.addChild(tab3);
tabContainer.addChild(tab2)
html:
<div dojoType="dijit.layout.TabContainer" persist="true" style="width: 410px;left:6px; height:320px;" id="${id}_tab">
<!-- Tab 1-->
<label for="${id}_SQLID1"></label></td>
<div dojoType="ContentPane" for="${id}_SQLID1" id="${id}_SQLID1" name="${id}_SQLID1" value="11"class="xwtNotification" title="SQL 1">
<!-- Tab 2-->
<div dojoType="ContentPane" for="${id}_SQLID2" id="${id}_SQLID2" name="${id}_SQLID2" class="xwtNotification" title="SQL 2">
<!-- Tab 3-->
<div dojoType="ContentPane" for="${id}_SQLID3" id="${id}_SQLID3" name="${id}_SQLID3" class="xwtNotification" title="SQL 3">
答案 0 :(得分:1)
这让我也有一段时间了。这是我想出来的:
你需要从它的tabContainer AND 中删除标签(ContentPane)来销毁ContentPane - 否则尝试创建具有相同ID的新ContentPane将会引发错误。
使用dijit.removeChild()从tabContainer中删除选项卡,如下所示:
dijit.byId("myTabContainer").removeChild(dijit.byId("myContentPane"));
然后使用以下命令销毁孤立的ContentPane:
dijit.byId("myContentPane").destroy();