我正在开发JSF&在我当前的一个项目中使用accordionPanel组件进行表面处理。这是关于我如何使用它的代码段:
<p:accordionPanel id="historic" dynamic="true"
styleClass="noborder"
activeIndex="-1">
<p:tab id="tab1" title="Historic 1" >
<ui:include src="historic1.xhtml"/>
</p:tab>
<p:tab id="tab2" title="Historic 2">
<ui:include src="historic2.xhtml"/>
</p:tab>
<p:tab id="tab3" title="Historic 3">
<ui:include src="historic3.xhtml"/>
</p:tab>
<p:tab id="tab4" title="Historic 4">
<ui:include src="historic4.xhtml" />
</p:tab>
</p:accordionPanel>
所有选项卡包含基本相同的代码,一个表单,其中一些数据指向不同的数据集。正如你们所看到的那样,除了最后一个标签外,它非常简单并且工作正常。它永远不会显示,无论它包含什么。我的意思是,如果,而不是上面的代码,我把另一个:
<p:accordionPanel id="historic" dynamic="true"
styleClass="noborder"
activeIndex="-1">
<p:tab id="tab1" title="Historic 1" >
<ui:include src="historic1.xhtml"/>
</p:tab>
<p:tab id="tab2" title="Historic 2">
<ui:include src="historic2.xhtml"/>
</p:tab>
<p:tab id="tab3" title="Historic 3">
<ui:include src="historic3.xhtml"/>
</p:tab>
<p:tab id="tab4" title="Historic 4">
<ui:include src="historic4.xhtml" />
</p:tab>
<p:tab id="tab5" title="Historic 5">
Some plain test text.
</p:tab>
</p:accordionPanel>
然后显示tab4,但tab5不显示。我目前正在使用这个最后一个代码,但由于空标签,它有点难看。 你们有没有遇到过同样或类似的问题,可以帮助我吗?我很感激。
答案 0 :(得分:2)
来自primefaces vdl:http://www.primefaces.org/docs/vdl/3.4/primefaces-p/accordionPanel.html
activeIndex
活动选项卡的索引或逗号分隔的索引字符串 多模式开启。默认值为零。
可能有理由将此设置为-1,如果将其设置为0或正数
,则您提供的示例在primefaces 3.4.2中有效答案 1 :(得分:0)
accordionPanel索引是一个从零开始的索引。这是第一个选项卡为0,第二个选项卡为1,依此类推。这就是为什么 尝试使用“-1”作为索引,因为我不希望默认情况下打开任何选项卡。 但是此值(-1)会在accordionPanel中产生故障:最后一个选项卡无法正常打开。因此,如果-1不起作用且0是第一个选项卡的值,那么“最后一个”值的值是多少。我的意思是,如果我们有4个选项卡(索引从0到3),让我们试试4 ...它的工作原理。很简单。我希望这对任何发现自己处于同一问题的人都有帮助。 无论如何,谢谢@Aksel Willgert,你给了我线索。