我是Primefaces的新手。我的问题是
我有一个p:commandlink,我在其中调用了一个确认对话框。
但问题是,即使在确认对话框中单击(是/否)之前,commandlink中的action属性也会被触发。但期望是基于确认对话框触发操作。非常感谢任何帮助。
我的代码段:
<p:commandLink value="Lock" disabled="#{bean.disableLock}" action="#{bean.lockdevice("hi" , 0)}" onclick="confirmation1.show();" type="button" ajax="false" />
<p:confirmDialog message="Are you Sure ?" header="Confirmation" showEffect="fade" hideEffect="explode" widgetVar="confirmation1" appendTo="@(body)">
<p:commandButton value="Yes" type="button" onclick="confirmation1.hide()"/>
<p:commandButton value="No" type="button" onclick="confirmation1.hide()"/>
</p:confirmDialog>
先谢谢。
答案 0 :(得分:0)
您必须将操作置于“是”按钮:
<p:commandLink value="Lock" disabled="#{bean.disableLock}" onclick="confirmation1.show();" type="button" ajax="false" />
<p:confirmDialog message="Are you Sure ?" header="Confirmation" showEffect="fade" hideEffect="explode" widgetVar="confirmation1" appendTo="@(body)">
<p:commandButton value="Yes" type="button" onclick="confirmation1.hide()" action="#{bean.lockdevice("hi" , 0)}"/>
<p:commandButton value="No" type="button" onclick="confirmation1.hide()"/>
</p:confirmDialog>
或使用p:confirm
:
<p:commandLink value="Lock" disabled="#{bean.disableLock}" action="#{bean.lockdevice("hi" , 0)}" onclick="confirmation1.show();" type="button" ajax="false">
<p:confirm header="Confirmation" message="Are you sure?" icon="ui-icon-alert"/>
</p:commandLink>
查看showcase。