我正在尝试使用 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:命令链接 时没有任何反应?
这个p:commandLink 和 p:dialog位于同一表单内的不同div 中。
看看PrimeFaces展示: https://www.primefaces.org/showcase/ui/overlay/dialog/basic.xhtml
更新对话框,但不打开它。
首先,您的对话框需要一个 widgetVar 属性。假设它是"myDialog"。
然后在命令链接中,您为 oncomplete 添加一个 java 脚本处理程序。在那里打开对话框。
喜欢<p:commandLink ... oncomplete="PF('myDialog').show()" ... />