如何为 onclick="PF('dialogWidget').hide(); 创建确认对话框

How to make confirmation dialog for onclick="PF('dialogWidget').hide();

我可以为具有动作的按钮创建 p:confirm,但是当它是 onclick 而不是动作属性时,单击对话框中的 "Yes" 不会执行任何操作。有什么技巧可以让这项工作发挥作用吗?

这个有效:

            <p:commandButton action="#{customEditorBean.save}"
                value="Save" rendered="#{customEditorBean.canSaveContent}">
                <p:confirm message="Are you sure you want to save the content?" icon="ui-icon-alert" />
            </p:commandButton>

这行不通:

        <p:commandButton value="Close" onclick="PF('editorWidget').hide();">
            <p:confirm message="Do you want to close the editor without saving?" icon="ui-icon-alert" />
        </p:commandButton>

看看这样的东西对你有用

<p:confirmDialog message="Are you sure about deleting this record?" 
                 widgetVar="deleteConfirm">
    <p:commandButton title="GDelYesButton" 
                     value="Yes" 
                     action="#{yourBean.delete}" 
                     oncomplete="PF('deleteConfirm').hide()" 
                     update=":growl"/>
    <p:commandButton title="GDelNoButton" 
                     value="No" 
                     oncomplete="PF('deleteConfirm').hide()"/>
</p:confirmDialog>

它应该可以工作,我们也在我们的应用程序中使用相同的东西。

我在对话中使用了类似的东西来删除一个对象,也许你会对这段代码感兴趣

<h:form id="frmEliminar">
        <p:dialog header="Eliminar Caja #{cajaBean.caja.descripcion}" widgetVar="dlgEliminar" modal="true">                
            <h:outputText value="¿Desea eliminar?" />
            <p:commandButton value="Si" actionListener="#{cajaBean.eliminar()}" ajax="false" icon="b-ok" />
            <p:commandButton value="No" onclick="dlgEliminar.hide();" icon="b-cancel" />
        </p:dialog>
    </h:form>