primefaces accordionpanel tab render



我使用的是primefaces 5.2。我想使用一个动态呈现选项卡的accordionpanel。我的XHTML代码:

<p:accordionPanel value="#{rechercheBean.structures}" dynamic="true" cache="false" var ="structure">
<p:tab title="#{structure.nomStructure} #{structure.existe?'existe':'n existe pas'}" rendered="#{structure.existe}" >
</p:tab>
</p:accordionPanel>

"存在"值存储在布尔值中,我的问题是它似乎从未在呈现属性中使用。我得到了这个结果。选项卡呈现我试着直接写它,结果是一样的:标签总是被渲染。

你能帮帮我吗?

看起来rendered的行为与p:tabView相同,它不呈现选项卡的内容,但它呈现选项卡本身。在你的情况下,这种风格隐藏不渲染/禁用选项卡(你可以省略,之后的内容,但这隐藏了第一个选项卡的内容,以防它被禁用)。

<style>
    #myPanel > h3.ui-state-disabled, #myPanel > div.ui-accordion-content {
        display: none;
    }
</style>

p:accordionPanel with id and p:tab with disabled属性:

<p:accordionPanel id="myPanel" value="#{rechercheBean.structures}" dynamic="true" cache="false" var ="structure">
    <p:tab title="#{structure.nomStructure} #{structure.existe?'existe':'n existe pas'}" rendered="#{structure.existe}" disabled="#{!structure.existe}" />
</p:accordionPanel>

最新更新