我正在使用 Primefaces(版本 3.0.1)p:tabView
组件,它显示模型中列表支持的动态选项卡数量。 TabView 中的选项卡是可关闭的。我想通过关闭事件删除与选项卡关联的列表元素。
这是我的看法:
<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);
}
元素 e
在这种情况下为 null
我还尝试在 p:ajax
元素中使用 p:collector
。有 example在 primefaces.org 展示。根据它,我的事件处理程序应该看起来像
public void removeElement(TabCloseEvent event) {
// ...
}
但我不知道如何与选项卡列表元素相关联。
所有答案将不胜感激。提前致谢
最佳答案
应该使用 public void removeElement(TabCloseEvent event)
,imo。
根据 TabCloseEvent它有一个方法 getData()
。这应该可以让您访问您的模型类。免责声明:我还没有像您那样使用 TabView,但是对于 Primeface 的树组件(即选择节点),它是这样工作的。您可以发回您的发现吗?
关于java - 模型的 Primefaces TabView - 关闭时删除与选项卡关联的模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9534273/