Primefaces不支持带有p:confirm的p:menuitem。

3

我试图在p:menuitem上调用确认对话框:

<p:menuitem value="#{text['button.archive']}"  actionListener="#{tasksbacking.archive}" icon="ui-icon-locked">                            
    <p:confirm header="#{text['button.archive.confirm.header']}" 
               message="#{text['button.archive.confirm.message']}"
               icon="ui-icon-alert"/>
</p:menuitem>

但根据Primefaces 5的文档:

目前,p:confirm仅由p:commandButton和p:commandLink支持。

是否有其他方法可以实现此功能?

2个回答

6
我找到了更好的解决方法在这里
简单来说,将commandlink包含在menuitem中,如下所示:
....
<p:menuitem>
    <p:commandLink>
        <p:confirm>
        </p:confirm>
    </p:commandLink>
</p:menuitem>
....

使用这个设置,您可以使用全局确认。它已经在PF 5.1上进行了测试。此外,看起来很快将在PrimeFaces中实现。


1

今天我想到了这个问题。经过一些尝试和错误,并尊重评论中已发布链接的信息,如果我尝试做以下事情,出乎意料的是,这对我有效。我使用的是PF 5.3。

<p:menuitem value="Löschen"
    actionListener="#{importerDefinitionView.deleteSelectedFile()}"
    update="messages">
    <p:confirm header="Datei Löschen"
        message="Soll die Datei wirklich gelöscht werden?"
        icon="ui-icon-alert" />
</p:menuitem>

相关确认对话框:

<p:confirmDialog global="true" showEffect="fade" hideEffect="fade">
    <p:commandButton value="Yes" type="button"
        styleClass="ui-confirmdialog-yes" icon="ui-icon-check" />
    <p:commandButton value="No" type="button"
        styleClass="ui-confirmdialog-no" icon="ui-icon-close" />
</p:confirmDialog>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接