我有一个嵌套在ui中的p:面板:repeat,当我尝试切换任何面板时,最后一个面板总是切换
<ui:repeat id="listes" value="#{rechercheTypeMesureCtrl.allTypeMesureArterielle}" var="l" varStatus="varStatus">
<p:growl id="msg" showDetail="true" />
<p:panel id="p" header="#{l.nom}" toggleable="true" closable="true" toggleSpeed="500" closeSpeed="500" widgetVar="panel" style="margin-bottom:20px" value="#{l.id_typeMesure}" >
<p:ajax event="close" listener="#{panelView.onClose}" />
<p:ajax event="toggle" listener="#{panelView.onToggle}" />
<h:panelGrid columns="8" cellpadding="10">
<h:outputText value="Mesure"></h:outputText>
<h:inputHidden value="#{l.id_typeMesure}" />
<p:inputText value="#{l.nom}">
</p:inputText>
<h:outputText value="Min value"></h:outputText>
<p:inputText value="#{l.valeurMin}">
</p:inputText>
<h:outputText value="Max value"></h:outputText>
<p:inputText value="#{l.valeurMax}">
</p:inputText>
<p:commandButton actionListener="#{typeMesureCtrl.updateTypeMesureArterielle(l)}" id="iconOnly" icon= "ui-icon-pencil" action="typeMesure.xhtml?faces-redirect=true"/>
</h:panelGrid>
</p:panel>
</ui:repeat>
我迟到了一点,但也遇到了类似的情况。。。检查这个答案。
所以,试着完全删除面板小部件var——如果你在右面板标题角使用普通按钮来切换/关闭。
或者只是重复块中的参数化面板小部件var值:
varStatus="varStatus"
widgetVar="panel_#{varStatus.index}"
如果你习惯于用外部按钮或链接切换例如第5行:
onclick="PF('panel_5').toggle();"
或者如果按钮在repat块内:
onclick="PF('panel_#{varStatus.index}').toggle();"
(Primefaces 6中测试的答案的第二部分)