如何根据方法值阻止 UI
How to Block UI based on method value
我需要你的帮助来阻止基于方法 UpdateDatatable
的 returned 值的表单,如果 commandButton
return "Yes" "Print" 被解雇了。如果它被触发,我需要在对话框关闭时阻止 UI,否则不阻止它。目前我的代码是,它每次都阻塞,我正在关闭对话框:
<p:dialog id="ss" header="SSS" widgetVar="ss" modal="true" showEffect="fade"
hideEffect="fade" resizable="false" >
<p:ajax event="close" listener="#{hrd.UpdateDatatable}"/>
<p:blockUI trigger="ss" block=":Requests">
<p:graphicImage width="50" value="/resources/images/ajax.gif">
</p:graphicImage>
</p:blockUI>
<<p:commandButton value="Print" id="Print" actionListener="#{hrd.updatePrint}"/>
</p:dialog>
删除trigger
并在p:blockUI
组件中添加widgetVar
以便能够直接触发它。
<p:blockUI block=":Requests" widgetVar="blockUIVar">
让你的打印按钮设置一个全局 js 变量。
<p:commandButton value="Print" id="Print" actionListener="#{hrd.updatePrint}"
onclick="window.printClicked = true;"/>
检查变量状态并在 close
请求开始时根据需要触发 UI 块。重置变量状态以防对话框重新打开。
<p:ajax event="close" listener="#{hrd.UpdateDatatable}"
onstart="if (window.printClicked) { PF('blockUIVar').show(); window.printClicked = false; }"/>
我需要你的帮助来阻止基于方法 UpdateDatatable
的 returned 值的表单,如果 commandButton
return "Yes" "Print" 被解雇了。如果它被触发,我需要在对话框关闭时阻止 UI,否则不阻止它。目前我的代码是,它每次都阻塞,我正在关闭对话框:
<p:dialog id="ss" header="SSS" widgetVar="ss" modal="true" showEffect="fade"
hideEffect="fade" resizable="false" >
<p:ajax event="close" listener="#{hrd.UpdateDatatable}"/>
<p:blockUI trigger="ss" block=":Requests">
<p:graphicImage width="50" value="/resources/images/ajax.gif">
</p:graphicImage>
</p:blockUI>
<<p:commandButton value="Print" id="Print" actionListener="#{hrd.updatePrint}"/>
</p:dialog>
删除trigger
并在p:blockUI
组件中添加widgetVar
以便能够直接触发它。
<p:blockUI block=":Requests" widgetVar="blockUIVar">
让你的打印按钮设置一个全局 js 变量。
<p:commandButton value="Print" id="Print" actionListener="#{hrd.updatePrint}"
onclick="window.printClicked = true;"/>
检查变量状态并在 close
请求开始时根据需要触发 UI 块。重置变量状态以防对话框重新打开。
<p:ajax event="close" listener="#{hrd.UpdateDatatable}"
onstart="if (window.printClicked) { PF('blockUIVar').show(); window.printClicked = false; }"/>