dojo 如何隐藏标签?

tvz2xvvm  于 2022-12-16  发布在  Dojo
关注(0)|答案(1)|浏览(237)

我不知道如何在标签容器中隐藏标签。到目前为止,我所尝试的都不起作用。
下面代码的结果是标签页中的内容没有显示出来,但是标签页本身还在,看起来并没有隐藏标签页。
我希望整个选项卡被删除,就像它从来没有存在过。

<div id="center" data-dojo-type="dijit/layout/TabContainer"  controllerWidget="dijit.layout.TabController">
<div id="tab1" data-dojo-type="dijit/layout/ContentPane"  title="tab1"></div>
<div id="tab2" data-dojo-type="dijit/layout/ContentPane"  title="tab2"></div>
<div id="tab3" data-dojo-type="dijit/layout/ContentPane"  title="tab3"></div>
</div>

这只是隐藏选项卡内容

console.log(dijit.byId("tab2"));
dijit.byId("tab2").style.display= 'none';
dijit.byId("tab2").resize();

这只是灰色的按钮

var tabContainer = dijit.byId("center"); //Tr
    var tab = dijit.byId("tab2"); //tab Id which you want to show
    tabContainer.selectChild(tab); //Show the selected Tab  
    tabContainer.getChildren()[0].controlButton.set('disabled', true);

如何完全隐藏选项卡按钮和内容,就像它们从来没有出现过一样?

798qvoo8

798qvoo81#

您可以使用dojo/dom-style隐藏选项卡,方法是隐藏controlButton.domNodedomNode本身。但请务必在隐藏选项卡之前更改所选选项卡,如下所示:

var tabContainer = registry.byId("center");
var tab1 = registry.byId("tab1");
var tab2 = registry.byId("tab2");
tabContainer.selectChild(tab2); // change tab

domStyle.set(tab1.controlButton.domNode, "display", "none");
domStyle.set(tab1.domNode, "display", "none");

参见以下工作片段
x一个一个一个一个x一个一个二个一个x一个一个三个一个

相关问题