我有p:dialog
由oncomplete
显示的commandButton
<p:commandButton value="Update" id="update"
actionListener="#{serviceTypeViewBean.beforeUpdate}"
oncomplete="updatedlg.show();)">
</p:commandButton>
此对话框有一个列表,该列表在'beforeUpdate'方法中更新。我想在oncomplete中添加一个条件,如果列表不为空,则显示对话框
if(list != empty){
updatedlg.show()
};
如何在commandButton的oncomplete中添加此条件?
答案 0 :(得分:1)
你可以像@Xtreme Biker建议的那样做。另一种解决方案是使用callbackParam:
添加到您的beforeUpdate
方法代码,如下所示:
if(list != empty){
RequestContext.getCurrentInstance().addCallbackParam("emptyList", false);
} else {
RequestContext.getCurrentInstance().addCallbackParam("emptyList", true);
}
然后您可以检查oncomplete
属性中的参数:
<p:commandButton value="Update" id="update"
actionListener="#{serviceTypeViewBean.beforeUpdate}"
oncomplete="if(!args.emptyList) { PF('updatedlg').show(); }">
</p:commandButton>
请注意,callbackParam非常灵活,您可以在很多情况下找到它的用法。
答案 1 :(得分:0)
您可以使用EL评估来呈现/隐藏javascript代码:
oncomplete=#{not empty serviceTypeViewBean.list ? 'updatedlg.show()' : '' }
另见: