Диалоговое окно не открывается при нажатии на p: commandLink в jsf primefaces?
Я пытаюсь открыть диалоговое окно в JSF с помощью p:commandLink
<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 внутри одной формы.
1 ответ
Решение
Взгляните на витрину PrimeFaces: https://www.primefaces.org/showcase/ui/overlay/dialog/basic.xhtml
Вы обновляете диалог, но не открываете его.
Прежде всего, вашему диалогу необходимо свойство widgetVar. Допустим, это "myDialog".
Затем в своей commandLink вы добавляете обработчик java-скрипта для oncomplete. Здесь вы открываете диалог.
подобно <p:commandLink ... oncomplete="PF('myDialog').show()" ... />