我有多个标签,一个是搜索标签。按下搜索按钮后,将显示一个新标签,其中包含搜索结果。显示新选项卡时,会有很多空格行,然后是结果数据表。
在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/