无法获得所有p:accordionPanel标签默认关闭

时间:2013-01-09 20:10:52

标签: primefaces accordion

我无法获得所有p:accordionPanel标签关闭

我尝试了问题Hiding the first tab of accordion panel in JSF Primefaces中推荐的两种解决方案 但是如果accordionPanel的value属性是EL表达式,它对我不起作用。第一个标签始终打开。

我试过

<p:accordionPanel widgetVar="accordion" 
multiple="true" 
value="#{cc.attrs.managedBean.getTabs()}" var="r">

没有成功

<p:accordionPanel activeIndex="-1" 
multiple="true" value="#{cc.attrs.managedBean.getTabs()}" var="r">

仅在accordionPanel

没有值时才有效

感谢您的帮助。

我有primesfaces 3.3.1

5 个答案:

答案 0 :(得分:28)

使用'null'为我工作:<p:accordionPanel activeIndex="null">

我正在使用PF 3.5并将activeIndex设置为null会使选项卡默认关闭。

答案 1 :(得分:6)

我正在使用PF 3.5并且在这个版本中我已经意识到如果我给activeIndex的负数大于p:accordianPanel中的选项卡数,它会折叠所有选项卡。 E.g。

<p:accordionPanel activeIndex="-2">
   <p:tab title="Hello">
   </p:tab>
   <p:tab title="World">
   </p>
 </p:accordionPanel>

显示折叠了所有标签的手风琴。如果这对你有用或者你找到了另一个解决方案,请告诉我。感谢。

答案 2 :(得分:3)

我通过简单地将其空出来解决了这个问题。 这样:activeIndex=""

答案 3 :(得分:1)

在我的场景设置中,activeIndex =“ - 1”或activeIndex =“null”或activeIndex =“ - ”或activeIndex =“”不起作用。

我从经理bean返回-1并且它有效。 Getter始终返回-1,setter不执行任何操作。

activeIndex="#{managerBean.activeTabIndices}"

答案 4 :(得分:0)

尝试<p:accordionPanel activeIndex="null" multiple="true" ...>

如果您编写类似<p:accordionPanel activeIndex="x" multiple="true" ...>的内容,则primefaces会产生javascript错误“ReferenceError:x未定义”。 该函数显然希望有效数字为activeIndex,但能够无错误地处理“null”。