Javascript Dojo tabcontainer在tablist中添加自定义按钮

Javascript Dojo tabcontainer在tablist中添加自定义按钮,javascript,dojo,dijit.form,tabcontainer,Javascript,Dojo,Dijit.form,Tabcontainer,我正在使用DOJO框架,想知道如何在Tabcontainer小部件的“tabbar”中添加自定义内容 我想在那里添加一个按钮来创建一个新的选项卡 我举了一个例子: require(["dijit/layout/TabContainer", "dijit/layout/ContentPane", "dojo/domReady!"], function(TabContainer, ContentPane){ var tc = new TabContainer({ style:

我正在使用DOJO框架,想知道如何在Tabcontainer小部件的“tabbar”中添加自定义内容

我想在那里添加一个按钮来创建一个新的选项卡

我举了一个例子:

require(["dijit/layout/TabContainer", "dijit/layout/ContentPane", "dojo/domReady!"], function(TabContainer, ContentPane){
    var tc = new TabContainer({
        style: "height: 100%; width: 100%;"
    }, "tc1-prog");

    var cp1 = new ContentPane({
         title: "Food",
         content: "We offer amazing food"
    });
    tc.addChild(cp1);

    var cp2 = new ContentPane({
         title: "Drinks",
         content: "We are known for our drinks."
    });
    tc.addChild(cp2);

    tc.startup();
});
得到这个:

如何添加第三个带有“+”符号的“假”选项卡,该选项卡将添加新选项卡,并且不切换选项卡视图

下面是我想要的一个快速的手袋草图:


感谢您的帮助

这可以通过向
选项卡容器
内容窗格
添加一些事件处理程序来实现。我会给你一个简单的流程

  • 在代码中添加第三个
    ContentPane
    ,标题为
    Add
  • onClick
    事件添加到
    TabContainer
    以跟踪最后选择的选项卡。如果最后选择的选项卡标题为“添加”,则在此不执行任何操作。您需要在下一点中选择最后一个选项卡
  • 单击此按钮(选中选项卡)时,将标题为“添加”的
    onShow
    事件添加到
    ContentPane
    以跟踪。在这种情况下,您将触发addnew选项卡流。并切换到您在
    TabContainer
    onClick
    事件中跟踪的最后一个选定选项卡。这会给人一种印象,即该选项卡未被切换,而实际上您正在添加一个新选项卡

这应该可以提供您所需要的功能。

这实际上不起作用,而且非常粗糙。不知何故,这些事件似乎没有正确触发。您好,我已经编辑了您的示例。看见事实证明,这里不需要第三个
TabContainer
onShow
事件。这有点骇客,但好吧,这是唯一的方法。正如你可能已经看到自己,添加按钮在点击时保持视觉打开。这是你点击add后的屏幕截图:对不起,我发布的链接不正确。下面是正确的链接:哦,很好,比预期的效果更好。非常感谢希曼殊!