我有多个标签,一个是搜索标签。按下搜索按钮后,将显示一个新标签,其中包含搜索结果。显示新选项卡时,会有很多空格行,然后是结果数据表。

在firebug的帮助下,我确定空白似乎是其他选项卡。

另外,在结果显示出来后,如果我转到其他选项卡,则返回到结果选项卡,不会呈现空白。以为动态标签会解决这个问题。

不使用activeIndex时,在我项目的其他选项卡上不会发生这种情况。



<p:tabView id="tabs" activeIndex="#{bean.activeTab}" dynamic="true" cache="false">
   <p:tab id="data" title="Data">
      <h:form> ... </h:form>
   </p:tab>
   <p:tab id="search" title="Search">
      <h:form>
         ...
         <p:commandButton value="Search" action="#{bean.doWork}" update="tabs,growlForm:growlMesg">
            <f:setPropertyActionListener target="#{bean.activeTab}" value="2" />
          </p:commandButton>
      </h:form>
   </p:tab>
   <p:tab id="results" title="Results" rendered="bean.showResults">
      <h:form> ... </h:form>
   </p:tab>
</p:tabView>


任何想法都会有所帮助。

干杯,

最佳答案

这是一个CSS问题。该项目刚刚从PrimeFaces 2.2.1升级到3.0.1。

TabView有jQuery UI Theming CSS标签,由于在新版本中重新实现了小部件,因此正在更改行为。

升级到有问题的TabView。


  重新实现为原生PrimeFaces小部件,而不是使用jQuery
  UI的标签小部件。参考:PrimeFaces Migration Guide


因此,我要做的就是删除CSS中所有的jQuery UI Tabs主题化标签,所有内容都像个魅力一样。

关于java - PrimeFaces 3 TabView具有额外的空白,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8978302/

10-12 05:06