2016-10-26 48 views
2

刪除圖像對不起,我說一點英語。我的問題: 我創建了一個p:imgswitch。我想附加一個刪除按鈕到每個圖像,所以我添加它,但它不工作!我試圖把commandbutton放在commandbutton裏面的graphicimage和graphicimage裏面,或者分開,但是我達到了相同的效果。如果我先點擊下一個按鈕,它只會顯示圖片,當我再次點擊下一個時,會顯示刪除按鈕。每次我按下next或prev按鈕而不是兩個組件同時顯示一個組件。如果您能幫助我,我將非常感激,謝謝!!!!!!!試圖從p:imgswitch

這是我的代碼:

  <p:imageSwitch widgetVar="switcher" id="manuelSwitcher" 
        slideshowAuto="false" effect="none"> 
        <ui:repeat value="#{vegetalesMb.images}" var="image" 
         id="manuelSwitcherImages"> 

         <p:graphicImage id="fotos" value="/Images/#{image}" 
          alt="Descripción #{image}" title="#{image}"> 
          <p:commandButton action="#{vegetalesMb.buttonBorrarFoto}"> 
           <f:setPropertyActionListener value="#{image}" 
            target="#{vegetalesMb.image}" /> 
          </p:commandButton> 
         </p:graphicImage> 
        </ui:repeat> 
       </p:imageSwitch> 
       <p:commandButton type="button" onclick="PF('switcher').previous();" 
        icon="ui-icon-circle-triangle-w" id="prev" /> 
       <p:commandButton type="button" onclick="PF('switcher').next();" 
        icon="ui-icon-circle-triangle-e" id="next" /> 

回答

1

我有同樣的問題,我解決它是把兩個p:commandButtonp:graphicImage標籤一個p:panelGrid標籤內的方式。您只需確保更新p:commandButton中的p:imageSwitch組件。 希望這有助於!

<p:panelGrid columns="2" styleClass="ui-panelgrid-blank"> 
    <p:commandButton type="button" onclick="PF('switcher').previous();" 
        icon="ui-icon-circle-triangle-w" id="prev"/> 
    <p:commandButton type="button" onclick="PF('switcher').next();" 
        icon="ui-icon-circle-triangle-e" id="next"/> 

</p:panelGrid> 
<p:imageSwitch effect="none" widgetVar="switcher" id="manualSwitcher" 
       slideshowAuto="false"> 
    <ui:repeat value="#{myController.imageList}" var="image" id="manualSwitcherImages"> 
     <p:panelGrid columns="1" styleClass="ui-panelgrid-blank"> 
      <p:commandButton action="#{myController.removeImage(image)}" update=":mainForm:manualSwitcher" icon="fa fa-remove"/> 
      <p:graphicImage value="#{image.stream}" cache="false" title="#{image.label}" stream="false" width="400" height="240"/> 
     </p:panelGrid> 
    </ui:repeat> 
</p:imageSwitch>