我使用的是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>