我正在使用Primefaces(版本3.0.1)p:tabView
组件,它显示模型中列表支持的动态选项卡数。 TabView中的选项卡是可关闭的。我想通过close事件删除与标签关联的列表元素。
以下是我的观点:
<p:tabView id="tabView" var="iterator" value="#{bean.list}">
<p:ajax event="tabClose"
listener="#{bean.removeElement(iterator)}" process="@this" />
<p:tab id="tab" closable="true">
<h:outputText value="#{iterator.text}" />
</p:tab>
</p:tabView>
我的bean处理程序:
public void removeElement(Element e) {
this.list.remove(e);
}
在这种情况下, Element e
为空
我还尝试在p:collector
元素中使用p:ajax
。 primefaces.org展示了example。根据它我的事件处理程序应该看起来像
public void removeElement(TabCloseEvent event) {
// ...
}
但我不知道怎样才能与tab list元素相关联。
所有答案将不胜感激。提前致谢
答案 0 :(得分:2)
public void removeElement(TabCloseEvent event)
,imo。
根据TabCloseEvent,它有一个方法getData()
。这可以让您访问您的模型类。免责声明:我还没有像现在这样使用TabView,但它以Primeface的Tree组件(即选择节点)的方式工作。你可以回复你的发现吗?