我的相关小组遇到了这个问题。我试图使用一个可以在我更改该选项卡时触发的功能,但问题是我没有得到任何东西。这是我的代码。希望你能帮帮我。
<h:form>
<p:accordionPanel id="layerListAccordionPanel"
multiple="true" activeIndex="-1"
value="#{CompleterBean.liste}" var="category">
<p:ajax event="tabClose" listener="#{CompleterBean.onTabChange}" />
<p:ajax event="tabChange" listener="#{CompleterBean.onTabClose}" />
<p:tab id="layerPanel" title="#{category.date_fin}" closable="true">
Test
</p:tab>
</p:accordionPanel>
</h:form>
和我的豆子
public void onTabClose(TabCloseEvent event) {
System.out.println("close");
}
public void onTabChange(TabChangeEvent event) {
System.out.println("open");
}
答案 0 :(得分:0)
有一点肯定是你错了事件
<p:ajax event="tabClose" listener="#{CompleterBean.onTabChange}" />
<p:ajax event="tabChange" listener="#{CompleterBean.onTabClose}" />
应该是
<p:ajax event="tabChange" listener="#{CompleterBean.onTabChange}" />
<p:ajax event="tabClose" listener="#{CompleterBean.onTabClose}" />
请注意我已切换事件。但是,我怀疑这是你问题中的拼写错误,因为这个错误不会无声地失败,而是会在更改时破坏页面。如果您的支持bean影响您的视图,请确保正确设置 update 属性,例如。
<p:ajax event="tabChange" listener="#{CompleterBean.onTabChange}" update=":form" />
<p:ajax event="tabClose" listener="#{CompleterBean.onTabClose}" update=":form"/>