Диалоговое окно не открывается при нажатии на 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()" ... />

Другие вопросы по тегам