我正在使用PrimeFaces对话框架。对话框窗口在拐角处有一个小x,用于关闭它。我可以附上一些代码吗?
我试过了:
<p:commandButton id="btn_open" value="add" process="" update="messages" action="#{bean.openDialog}">
<p:ajax event="dialogReturn" listener="#{bean.onDialogClose}" update="messages"/>
</p:commandButton>
public void onDialogClose(CloseEvent event){
}
但无济于事,我从未进入onDialogClose函数。
我认为这是错误的事件或签名,但我无法在文档中找到答案。
答案 0 :(得分:3)
dialogReturn
事件必须由
public void onDialogReturn(SelectEvent event)
{
Object obj = event.getObject();
}
由
明确触发RequestContext.getCurrentInstance().close(obj);
在对话方面。
用右上角关闭对话框&#34; X&#34;按钮不会触发dialogReturn
事件。
我不知道是否可以处理对话框架关闭事件,我想到的第一件事是打开带有选项closable="false"
的对话框并创建另一个关闭按钮它
public void open(String outcome)
{
Map<String, Object> options = new HashMap<>();
options.put("closable", false);
RequestContext.getCurrentInstance().openDialog(outcome, options, null);
}
然后管理这个状态:
public void onDialogReturn(SelectEvent event)
{
Object obj = event.getObject();
if(obj == null)
{
// handle close
}
else
{
// handle object returned
}
}