我的页面中有两个 Primefaces p:dialogs
,我有两个按钮来显示它们(一个是删除按钮,另一个是编辑按钮)。
我将对话框的可见属性设置如下:visible="#{fn:length(bean.selectedItems) gt 0}
删除按钮和visible="#{fn:length(bean.selectedItems) eq 1}
,所以我可以删除多个元素,但只能同时编辑一个。
现在 bean 是 ViewScoped,所以如果只选择了一项,并且有一个没有按下 ajax 提交的 commandButton,那么两个对话框都会显示,这显然不是我想要的。
仅在需要时显示适当对话框的最简单方法是什么?
我不想为此设置额外的 bean 属性,所以让我们认为这是一个简单的解决方案。还有其他方法吗?也许将操作的名称设置为视图范围的参数?或者使用呈现的属性并管理来自 javascript 回调的显示/隐藏?