我在primefaces对话框中有一个primefaces accordion 面板,每当对话框(dialog is dynamic=“true”)打开时, accordion 面板的所有面板都会折叠。
accordionpanel有一个特性,它可以有0到2个面板,直到用户单击菜单项时才知道这一点。这些面板的存在与否取决于backingbean中2个对象的存在。
我的代码:
<p:accordionPanel activeIndex="-1" dynamic="true" widgetVar="accordionPanelWV" id="accordionPanel">
<p:tab title="#{messages['comun.provA']}" rendered="#{productsBean.productSel.providerA != null}">
....
</p:tab>
<p:tab title="#{messages['comun.provB']}" rendered="#{productsBean.productSel.providerB != null}">
....
</p:tab>
</p:accordionPanel>
我试过下列方法,但都没有达到预期的效果
在打开/关闭对话框之前,请在js/jquery中选择一个负数、null或无效索引
PF('accordionPanelWV').select(-1);
PF('accordionPanelWV').select(null);
PF('accordionPanelWV').select("");
在打开/关闭对话框之前,取消选择js/jquery中的所有索引
PF('accordionPanelWV').unselect(0);
PF('accordionPanelWV').unselect(1);
我该怎么做?
primefaces 8.0版
谢谢
1条答案
按热度按时间uqdfh47h1#
这将在pf 9.0中固定:https://github.com/primefaces/primefaces/issues/6605
添加
selectAll
以及unselectAll
方法展开或折叠所有面板,只需将此js代码添加到应用程序中。