简体   繁体   English

任意切换 <ui:repeat><p:panel togglable=“true”> 仅切换最后一个面板

[英]Toggle of any <ui:repeat><p:panel togglable=“true”> only toggles last panel

I have ap:panel nested inside a ui:repeat , when I try to toggle any of the panels always the last panel is toggled 我将ap:panel嵌套在ui: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>

I'm a little late, but just got the similar situation... Check this answer. 我来晚了,但情况也差不多...检查此答案。

So, try to remove panel widgetvar completely - if you are using generic buttons in right panel header corner for toggle/close. 因此,请尝试完全删除面板widgetvar-如果您在面板右上角使用通用按钮进行切换/关闭。

Or just parameterized panel widgetvar value inside repeat block: 或者只是在重复块内设置参数化的面板widgetvar值:

 varStatus="varStatus"
 widgetVar="panel_#{varStatus.index}"

and if you wont to toggle eg. 并且如果您不会切换例如。 row 5 with external button or link: 第5行,带有外部按钮或链接:

onclick="PF('panel_5').toggle();"

or if button is inside repat block: 或如果按钮位于repat块内:

onclick="PF('panel_#{varStatus.index}').toggle();"

(Second part of answer tested in Primefaces 6) (答案的第二部分在Primefaces 6中测试)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM