在我们的一个页面中,我们有一个搜索按钮,用于打开搜索对话框,以便用户可以从远程系统中搜索和导入一些数据。
现在我得到了新的要求,每次打开页面时都必须显示相同的对话框 - 但只有当页面将用于创建新的注册表时,在更新模式下,只有当用户单击时才会显示按钮。
我已经尝试了一些东西,我可以使用Primefaces引擎通过MB调用对话框,如下所示:
RequestContext.getCurrentInstance().execute("dialogArmaBos.show()")
此命令适用于按钮大小写,但我可以在页面打开时使其正常工作。如果我尝试在PostConstruct中使用没有任何反应。
我还试用了<f:event type="preRenderView" ...
<f:metadata ...
,但没有任何变化。
有没有办法实现呢?
答案 0 :(得分:3)
根据神话般的PrimeFaces documentation有一个明显的属性。从文档引用:
visible false Boolean启用后,默认情况下会显示对话框。
因此,只需在该属性中使用EL即可将其显示在pageload上
<p:dialog visible="#{myBean.createMode}"... >
并在该bean中有一个布尔字段,如果处于创建模式,则返回true。
对于其余的,您可以使用客户端api显示/隐藏它(如果需要)