Jsf 2 在JSF Primefaces中隐藏accordion面板的第一个选项卡
默认情况下,页面加载时primefaces accordion面板的第一个选项卡显示为打开状态。是否有一种方法可以在页面加载时关闭它Jsf 2 在JSF Primefaces中隐藏accordion面板的第一个选项卡,jsf-2,tabs,primefaces,accordion,Jsf 2,Tabs,Primefaces,Accordion,默认情况下,页面加载时primefaces accordion面板的第一个选项卡显示为打开状态。是否有一种方法可以在页面加载时关闭它 感谢一种方法是定义widgetVar: <p:accordionPanel widgetVar="accordion"> ... </p:accordionPanel> ... 然后: <body onload="PF('accordion').unselect(0)"> 或对于较旧的PF版本: <bo
感谢一种方法是定义widgetVar:
<p:accordionPanel widgetVar="accordion">
...
</p:accordionPanel>
...
然后:
<body onload="PF('accordion').unselect(0)">
或对于较旧的PF版本:
<body onload="accordion.unselect(0)">
你可以这样做
<p:accordionPanel activeIndex="-1">
如果您将activeIndex设置为空白(Primefaces 3.4.1),则它可以工作
在PrimeFaces 3.5.x中,所有发布的答案都不适用于我。使用多模式,但这:
<p:accordionPanel multiple="true" activeIndex="null" ... >
您可以使用PF功能执行此操作,如下代码所示:
PF('accordionWidgetVarName').unselect(0);
回答PrimeFaces 6.0用户的问题: 您可以设置widgetVar属性,然后调用PF('widgetVarValue')。取消选择(0);正如弗雷德·波利卡波所提到的;然而,我无法在accordionload上实现这一点,我尝试了各种方法,比如使用div的onload事件,使用启用自动运行的remoteCommand,甚至使用自定义jQuery。只有当我在控制台中运行pfunselect调用时,这些都不适用于load事件
在PrimeFaces 6.0中,您可以使用activeIndex属性并将其设置为多个值,例如“1,3,5”,以关闭所有选项卡,但打开第2、第4和第6个选项卡(基本0索引)。谢谢。。我尝试了第一种方法。它起作用了。默认情况下,该选项卡处于关闭状态。但有一个问题。它不会在单击时加载。其余的选项卡将从db更新(只要我们单击它)。但是第一个标签不是这样工作的。它是空的。你知道为什么会这样吗。控件传递给clikc上的bean,甚至加载了值,但它并没有反映在tab中。。。我用属性
dynamic=“true”
测试了它。如果单击第一个选项卡,则不会加载它。我会修改我的答案。使用widgetVar的方法。行了,还是不行。该选项卡处于打开状态,没有数据。我保持动态=“真实”。我也在使用facelets。这可能会影响结果。我希望在accordion中使用类似“collapseAll()”的方法,因为在当前版本(4.0)中,只有“unselect(X)”,其中X是要折叠的选项卡的索引。我认为这是新版本的一个很好的细节。@AlvaroCachoperro你说得对,widgetVar.collapseAll()
不见了。我试图在以下问题中引起一些注意:它为我扩展了第二个选项卡,即PF 5.0。不展开第二个选项卡。
PF('accordionWidgetVarName').unselect(0);