Jsf primefaces p:tabView动态选项卡未正确关闭

Jsf primefaces p:tabView动态选项卡未正确关闭,jsf,primefaces,Jsf,Primefaces,使用primefaces动态创建的选项卡p:tabView无法正确关闭。 单击选项卡时,勾选以关闭所选选项卡。始终关闭第一个选项卡,而不是当前单击的选项卡。 我想要的是,关闭已单击的选项卡。此处仅关闭第一个选项卡,而不是单击的选项卡 我的JSF: ::::::::::: <h:form prependId="false" id="form"> <p:tabView value="#{deneBean.tabs}" var="tab" id="myTabView" bind

使用primefaces动态创建的选项卡p:tabView无法正确关闭。 单击选项卡时,勾选以关闭所选选项卡。始终关闭第一个选项卡,而不是当前单击的选项卡。 我想要的是,关闭已单击的选项卡。此处仅关闭第一个选项卡,而不是单击的选项卡

我的JSF:

:::::::::::
<h:form prependId="false" id="form">

  <p:tabView value="#{deneBean.tabs}" var="tab" id="myTabView" binding="#{deneBean.tabView}">  
    <p:ajax event="tabClose" listener="#{deneBean.closeme(tab)}" update="@form"/>
    <p:tab title="#{tab.title}"  closable="true"   >
      #{tab.content}
    </p:tab>
  </p:tabView>  
  <p:commandButton value="Add Tab" action="#{deneBean.add}" update="@form" />

</h:form>
:::::::::::::::::::::::

尝试使用TabCloseEvent

在您的bean中:

import org.primefaces.event.TabCloseEvent; 

public void closeme(TabCloseEvent event) {    
    tabs.remove(event.getTab());
}  
在xhtml上:

<p:ajax event="tabClose" listener="#{deneBean.closeme}" update="@form" /> 

另见:

import org.primefaces.event.TabCloseEvent; 

public void closeme(TabCloseEvent event) {    
    tabs.remove(event.getTab());
}  
<p:ajax event="tabClose" listener="#{deneBean.closeme}" update="@form" />