打开页面时如何打开对话框

How can I open a dialog when the page is opened

在我们的一个页面中,我们有一个搜索按钮,可以打开一个搜索对话框,以便用户可以从远程系统搜索和导入一些数据。

现在我有了新的要求,每次打开页面时都必须显示相同的对话框 - 但只有当页面将用于创建新注册表时,在更新模式下,只有当用户点击按钮。

我已经尝试了一些方法,我可以使用 Primefaces 引擎按 MB 调用对话框,如下所示:

 RequestContext.getCurrentInstance().execute("dialogArmaBos.show()")

此命令非常适合按钮盒,但我可以在页面打开时让它运行。如果我尝试在 PostConstruct 中使用,什么也不会发生。

我也尝试过 <f:event type="preRenderView" ...<f:metadata ...,但也没有任何变化。

有什么方法可以做到吗?

据传说PrimeFaces documentation有一个可见的属性。引自文档:

visible false Boolean When enabled, dialog is visible by default.

因此只需在该属性中使用 EL 即可在页面加载时显示它

<p:dialog visible="#{myBean.createMode}"... >

并且在该 bean 中有一个布尔字段,如果处于创建模式,则 returns 为真。

对于其余部分,如果需要,您可以 show/hide 在客户端 api