我以非常默认的方式使用 PrimeFaces dataTable 和 rowEditor:
<p:dataTable id="payments-table" var="apayment" value="#{payment.payments}" editable="true">
<p:ajax event="rowEdit" listener="#{payment.update}"/>
...
</p:dataTable>
我希望在单击 rowEditor 的“检查”按钮时显示一个确认对话框。
我知道可以使用 JS 确认功能(感谢在 <p:rowEditor> 单击“确定”按钮更新模型之前显示确认消息):
<p:ajax event="rowEdit" listener="#{payment.update}" onstart="return confirm('Save changes?')"/>
但我希望对话框符合 UI 主题,confirmDialog 组件是最佳候选者。唉,我不知道如何在这里使用它。我尝试了以下方法,但它不起作用(只是没有确认发生):
<p:ajax event="rowEdit" listener="#{payment.update}">
<p:confirm header="Remove payment" message="Remove payment?" icon="ui-icon-trash"/>
</p:ajax>
....
<p:confirmDialog global="true">
<h:form id="form-payment-confirm">
<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"/>
</h:form>
</p:confirmDialog>
有任何想法吗?