在 actionListener 完成之前更新组件
Update component before actionListener finish
我有一个对话框,当用户按下按钮时'Accept'我想在同一个对话框中显示一个 ProgressBar,但是当 actionListener 完成时它会更新。
<p:dialog id="dlgGenerarLista" modal="true" height="180" width="500" header="Generar Lista de Trabajo" widgetVar="dlgGenerarLista">
<p:commandButton onclick="PF('dlgGenerarLista').hide();" value="Cancel" />
<p:commandButton id="btnAceptarGenerar" value="Accept"
actionListener="#{crearEstrategiaBeans.GenerarListaTrabajo}"
oncomplete="PF('dlgGenerarLista').hide();"update="basic"/>
<p:panel id="basic" widgetVar="basic">
<p:progressBar rendered="#{crearEstrategiaBeans.visibilidadBarraProgreso}" id="progressBarIndeterminate" mode="indeterminate"/>
</p:panel>
</p:dialog>
在方法 GenerarListaTrabajo() 中我说 visibilidadBarraProgreso = "true" ,所以我想在那一刻显示进度条。当所有过程完成时,它会显示 progresBar。
以下是针对您的问题的有效解决方案:
<h:form id="form">
<p:commandButton onstart="PF('progressBar').jq.show();" oncomplete="PF('progressBar').jq.hide();" />
<p:progressBar widgetVar="progressBar" style="display: none;" />
</h:form>
简短说明:使用 PF('progressBar') 您将获得进度条的 PrimeFaces JavaScript 对象。使用 jq 您将获得进度条的 jQuery 元素。然后你可以使用jQuery方法显示和隐藏。
我有一个对话框,当用户按下按钮时'Accept'我想在同一个对话框中显示一个 ProgressBar,但是当 actionListener 完成时它会更新。
<p:dialog id="dlgGenerarLista" modal="true" height="180" width="500" header="Generar Lista de Trabajo" widgetVar="dlgGenerarLista">
<p:commandButton onclick="PF('dlgGenerarLista').hide();" value="Cancel" />
<p:commandButton id="btnAceptarGenerar" value="Accept"
actionListener="#{crearEstrategiaBeans.GenerarListaTrabajo}"
oncomplete="PF('dlgGenerarLista').hide();"update="basic"/>
<p:panel id="basic" widgetVar="basic">
<p:progressBar rendered="#{crearEstrategiaBeans.visibilidadBarraProgreso}" id="progressBarIndeterminate" mode="indeterminate"/>
</p:panel>
</p:dialog>
在方法 GenerarListaTrabajo() 中我说 visibilidadBarraProgreso = "true" ,所以我想在那一刻显示进度条。当所有过程完成时,它会显示 progresBar。
以下是针对您的问题的有效解决方案:
<h:form id="form">
<p:commandButton onstart="PF('progressBar').jq.show();" oncomplete="PF('progressBar').jq.hide();" />
<p:progressBar widgetVar="progressBar" style="display: none;" />
</h:form>
简短说明:使用 PF('progressBar') 您将获得进度条的 PrimeFaces JavaScript 对象。使用 jq 您将获得进度条的 jQuery 元素。然后你可以使用jQuery方法显示和隐藏。