如何使用 dijit.layout.TabContainer 指定选定的选项卡?

Posted

技术标签:

【中文标题】如何使用 dijit.layout.TabContainer 指定选定的选项卡?【英文标题】:How do I specify the selected tab with dijit.layout.TabContainer? 【发布时间】:2009-06-24 00:18:11 【问题描述】: 如何在启动时指定选中的选项卡? 如何以编程方式选择选项卡?

【问题讨论】:

【参考方案1】:

html - 使用 selected 属性。

<div id="tabContainer" dojoType="dijit.layout.TabContainer" 
     tabStrip="true" style="width: 100%; height: 20em;">
    <div id="tab1" dojoType="dijit.layout.ContentPane" title="Tab 1">Tab 1</div>
    <div id="tab2" dojoType="dijit.layout.ContentPane" title="Tab 2"
         selected="true">Selected tab 2</div>
</div>

javascript - 在 TabContainer 小部件上使用 selectChild 方法。

var cp = new dijit.layout.ContentPane(
                     title: 'Tab title',                       
                     content: 'Selected tab...'
                  );
var tc = dijit.byId("tabContainer");
tc.addChild(cp);
tc.selectChild(cp);

您可以在此处找到更多示例:TabContainer Demo

警告!!!此演示来自夜间构建。并非所有功能都包含在 1.3.2 版本中。

【讨论】:

这个答案不完整。您描述了如何在启动时设置选定的选项卡,但发帖人还询问了如何以编程方式切换选项卡。该解决方案有点奇怪,因为 selectChild() 需要一个小部件,而不是数字,因此您需要访问要选择的内容窗格的对象。在构建窗格时这很容易,但要在运行时任意执行,您必须先获取您想要的孩子,然后告诉 tabContainer 选择它。我已将此添加到您的答案中。【参考方案2】:

您可以使用 selected 属性指定要在启动时显示的选项卡。

new dijit.layout.ContentPane(title: "My Tab Title",
content: dojo.byId("MyContent"),selected:true);

TabContainer 启动后,您可以使用带有 id 或小部件引用的 selectChild。请注意,在 TabContainer 启动之前调用 selectChild 会导致错误。

【讨论】:

以上是关于如何使用 dijit.layout.TabContainer 指定选定的选项卡?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用本机反应创建登录以及如何验证会话

如何在自动布局中使用约束标识符以及如何使用标识符更改约束? [迅速]

如何使用 AngularJS 的 ng-model 创建一个数组以及如何使用 jquery 提交?

如何使用laravel保存所有行数据每个行名或相等

如何使用 Math.Net 连接矩阵。如何使用 Math.Net 调用特定的行或列?

WSARecv 如何使用 lpOverlapped?如何手动发出事件信号?