【问题标题】:can't get all p:accordionPanel tabs closed by default默认情况下无法关闭所有 p:accordionPanel 选项卡
【发布时间】:2012-12-24 02:42:43
【问题描述】:

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

我尝试了问题Hiding the first tab of accordion panel in 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">

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

感谢您的帮助。

我有 primesfaces 3.3.1

【问题讨论】:

  • 并且值设置为?请发布您如何创建价值(Java 代码)。
  • @siebz0r:getTabs 只是视图范围内的 mangedBean 中的一个函数,它返回带有属性代码和标签的 Tab 列表。然后我在标签标题中使用标签,如下所示
  • 与 p:accordionPanel activeIndex="x" 一起工作正常
  • 对于 PrimeFaces 6.0,请在此处查看我的答案:stackoverflow.com/a/41960522/1599699

标签: primefaces accordion


【解决方案1】:

试试&lt;p:accordionPanel activeIndex="null" multiple="true" ...&gt;

如果你写像&lt;p:accordionPanel activeIndex="x" multiple="true" ...&gt; 这样的东西,primefaces 会产生 javascript 错误“ReferenceError: x is not defined”。 该函数显然需要一个有效数字作为 activeIndex,但能够处理“null”而不会出错。

【讨论】:

  • 对不起,我想写三个点,但系统误解了实体。我修好了,…不想在那里。
【解决方案2】:

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

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

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

【讨论】:

    【解决方案3】:

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

    【讨论】:

    • 这样做会在以后破坏 js,至少在 3.5 中是这样。没有打开的可能。 @John Brown 的回答更好。
    【解决方案4】:

    使用“null”对我有用:&lt;p:accordionPanel activeIndex="null"&gt;

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

    【讨论】:

      【解决方案5】:

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

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

      activeIndex="#{managerBean.activeTabIndices}"
      

      【讨论】:

      • 附注我需要所有选项卡最初总是关闭。
      • 嘿!看来你没有仔细阅读我的帖子。这不是评论或问题。对于已经讨论过的问题,我给出了另一种可能的解决方案。
      • 以前的解决方案都不适合我,所以我想我如何解决它可能会对某人有所帮助。
      • 对不起。我收回了我的 NAA 旗帜
      猜你喜欢
      • 2014-01-27
      • 2012-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-29
      • 1970-01-01
      • 2016-04-15
      相关资源
      最近更新 更多