15

我无法关闭所有 p:accordionPanel 选项卡

我尝试了在 JSF Primefaces 中隐藏手风琴面板的第一个选项卡的问题中推荐的两种解决方案, 但如果手风琴面板的 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">

只有在没有手风琴面板的价值属性时才有效

谢谢你的帮助。

我有素面 3.3.1

4

5 回答 5

38

使用“null”对我有用: <p:accordionPanel activeIndex="null">

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

于 2014-03-05T06:55:35.640 回答
7

我正在使用 PF 3.5,在这个版本中,我意识到如果我给出的负数activeIndex大于 p:accordianPanel 中的选项卡数量,它会折叠所有选项卡。例如

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

显示折叠所有选项卡的手风琴。让我知道这是否适合您,或者您是否找到了其他解决方案。谢谢。

于 2013-08-20T15:53:52.247 回答
4

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

于 2013-09-15T16:40:24.457 回答
2

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

我从经理 bean 返回 -1 并且它起作用了。Getter 总是返回 -1 而 setter 什么也不做。

activeIndex="#{managerBean.activeTabIndices}"
于 2016-11-07T14:34:01.807 回答
1

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

如果您编写类似的东西<p:accordionPanel activeIndex="x" multiple="true" ...>,primefaces 会产生 javascript 错误“ReferenceError: x is not defined”。该函数显然需要一个有效数字作为 activeIndex,但能够处理“null”而不会出错。

于 2013-03-25T09:08:15.443 回答