我使用的是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>
&#39; existe&#39; value存储在一个布尔值中,我的问题是它似乎从未在render属性中使用过。 我得到了这个结果。 tab rendered 我试着用相同的结果直接写它:总是呈现标签。
你能帮我吗?
答案 0 :(得分:0)
看起来rendered
行为相同like in p:tabView
,它不会呈现标签的内容,但会呈现标签本身。在您的情况下,此样式隐藏了未呈现/禁用的选项卡(您可以省略,
之后的内容,但如果禁用该内容,则会隐藏第一个选项卡的内容。
<style>
#myPanel > h3.ui-state-disabled, #myPanel > div.ui-accordion-content {
display: none;
}
</style>
p:accordionPanel
id
和p:tab
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>