【问题标题】:Dialog box does't get opened when clicked on p:commandLink in jsf primefaces?在 jsf primefaces 中单击 p:commandLink 时没有打开对话框?
【发布时间】:2020-06-04 12:14:56
【问题描述】:

我正在尝试使用 p:commandLink 在 JSF 中打开一个对话框

<p:commandLink id="linkId" update="@this someDialogId" value="open dialog" action="#{someBean.someAction(id)}"/>

<p:dialog closable="true" id="someDialogId" closeOnEscape="true" maximizable="true" minimizable="true" fitViewport="true" modal="true" header="Task Details" rendered="#{someBean.displayDiag}" visible="#{someBean.displayDiag}" >

    // Something displayed
</p:dialog>

但是当我点击 p:commandLink 时没有任何反应?

这个p:commandLink和p:dialog位于同一个表单内的不同div中。

【问题讨论】:

  • 我读了它并尝试使用 p:ajax update="@this id" 或 f:ajax execute="Id" 但似乎没有一个工作,当我单击链接到对话框时发生了什么框没有任何反应,当单击其他项目时,对话框进入。
  • @JasperdeVries 我的整个应用程序都遇到了这个刷新问题,如果您能指出如何在对话框打开时停止刷新整个表单,这将是非常有帮助的。

标签: jsf primefaces primefaces-dialog-framework


【解决方案1】:

看看 PrimeFaces 展示:https://www.primefaces.org/showcase/ui/overlay/dialog/basic.xhtml

您更新了对话框,但没有打开它。

首先,您的对话框需要一个 widgetVar 属性。假设它是“myDialog”。

然后在您的 commandLink 中添加一个用于 oncomplete 的 java 脚本处理程序。在那里你打开对话框。

点赞&lt;p:commandLink ... oncomplete="PF('myDialog').show()" ... /&gt;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-08
    • 2015-12-30
    • 1970-01-01
    相关资源
    最近更新 更多