【问题标题】:Creating static and dynamic tabs on a single page在单个页面上创建静态和动态选项卡
【发布时间】:2017-05-24 05:57:32
【问题描述】:

我有一个要求,我必须在其中创建选项卡。前两个选项卡是静态选项卡,接下来的选项卡是基于数据库表中的记录的动态选项卡。

当我尝试创建时,只有第一个选项卡出现,其余选项卡没有出现。

这是我的作品

   <p:tabView id="view1" value="#{bean.values}" var="tab" dynamic="true">
        <p:tab id="view11" title="${msgs.ckd_title}">       
                // first tab content
        </p:tab>
        <p:tab id="view12" title="${msgs.pc_qsys_title_material}">
              // second tab content
        </p:tab>
        <p:tabView id="view13"      value="#{bean.values}" var="tab">
           <p:tab id="view3" title="#{tab.label}">
                //dynamic tab content
          </p:tab>
     </p:tabView>
 </p:tabView>

我试过ui:repeat,还是不行

【问题讨论】:

  • 您是否尝试在 tabView 中创建 tabView 为什么不简单地渲染您的标签或阻止它?!?
  • 您能否详细说明一下简单渲染或阻止它是什么意思? @八神之光
  • 如果这是一个可见性问题(我不希望这个用户看到这个选项卡),如果你想生成动态选项卡(每次都是新选项卡编号),它只会与渲染一起工作这是另一种情况(这只是一个澄清问题)
  • 它们不是可见性选项卡,它们始终可见。前两个是固定标签,下一个标签可能是 2、4 或任何数字..
  • “动态”是一个宽泛的概念。如果数字是动态的,由视图创建决定并且在使用视图期间不会更改(没有选项卡添加或选项卡删除),只需使用 c:foreach 而不是 ui:repeat。渲染时的p:tabView 仅接受c:foreach 生成的p:tab

标签: jsf primefaces tabs


【解决方案1】:
<p:tabView id="supersetTabs"value="#{pcSuperSetReportBean.plantSuperSets}" var="tab">
    <p:tab id="provisioninReportBySupplier" title="#{tab.label}">
        //dynamic tab content
    </p:tab>
</p:tabView>

“动态”意味着 bean 逻辑将生成可变选项卡内容。所以你的bean必须填充value引用的模型和 某些东西(页面组件上的 update 参数或 bean 代码)必须告诉页面刷新标签视图 supersetTabs

【讨论】:

  • 你们中的一些人实际上是打算在 tabview 中使用 tabview 而不是在 tab 中,检查它是否真的有效(它没有)
  • 我的回答很好。如果您想改进它,请继续。
  • 将您的答案与原始问题中的(略微更正的)代码进行比较(很可能是一个错误的错字,但您最有可能关注它)。 'supersetTabs' 部分不再有任何区别。您没有在一个选项卡视图中组合静态和动态选项卡。因此,您的回答不会为案件添加任何新内容。还是我错过了什么?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-08-27
  • 1970-01-01
  • 2016-02-11
  • 1970-01-01
  • 1970-01-01
  • 2013-01-29
  • 1970-01-01
相关资源
最近更新 更多