使用 CSJS 创建新选项卡面板时如何传递值

How can I pass a value when creating a new tab panel with CSJS

我想使用 CSJS 为 Dojo 选项卡容器创建一个新的选项卡式面板,例如:

 dijit.byId('#{id:djTabContainer1}').createTab({ tabTitle: Math.random()});

默认选项卡面板有一个将使用 iframe 标记的面板,我想将上面的 src html 属性调用传递给面板。

问题:我可以指定一个url在iframe中加载。有没有办法通过这个?

似乎 createTab 只执行某些与选项卡相关的参数,例如 action 和 tabTitle。

霍华德

这里的语法有点晦涩。从 ExtLib 演示应用程序中的代码开始:

XPagesExt.nsf/Core_DynamicTabs.xsp

将 button4 中的脚本更改为:

dijit.byId('#{id:djTabContainer1}')
    .createTab({
      "newName":'Tab'+Math.random(),
      "newHref":'/XPagesExt.nsf/page5.xsp'})

以匹配您请求的语法。 并且,在 defaultTabContent 引用的选项卡中,更改标题和 href 以使用那些传递的 URL 参数:

<xe:djTabPane xp:key="doc" id="djTabPane2"
    title="${javascript:/*load-time-compute*/param.newName}" 
    href="${javascript:/*load-time-compute*/param.newHref}"

它将创建选项卡并尝试加载 href 内容。虽然我没有将它视为 iframe - 它只是一个容器 div.