0

我正在使用弹出框模板。我的模板 html 中有 3 个内容窗格。每个内容窗格都有小部件。我需要根据一些逻辑隐藏/显示内容窗格。在该setValues方法中,我可以删除选项卡,但我需要将它们重新添加到不工作的销毁方法中,即没有任何反应并且它们继续被删除。怎么做?可见性/样式在内容窗格中不起作用。我的代码:

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">
4

1 回答 1

1

这也让我走了一段时间。这是我发现的:

您需要从它的 tabContainer 中删除选项卡 (ContentPane) 并销毁ContentPane - 否则尝试创建具有相同 ID 的新 ContentPane 将引发错误。

使用 dijit.removeChild() 从 tabContainer 中删除选项卡,如下所示:

dijit.byId("myTabContainer").removeChild(dijit.byId("myContentPane"));

然后使用以下命令销毁孤立的 ContentPane:

dijit.byId("myContentPane").destroy();
于 2013-05-08T16:38:16.827 回答