代码之家  ›  专栏  ›  技术社区  ›  Luis Pavez

在actionListener完成之前更新组件

  •  0
  • Luis Pavez  · 技术社区  · 6 年前

    我有一个对话框,当用户按下按钮“接受”时,我想在同一个对话框中显示一个进度条,但这是在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=“真实” ,所以我想在那一刻显示进度条。所有流程完成时显示的程序栏。

    1 回复  |  直到 6 年前
        1
  •  0
  •   Alex Fire    6 年前

    以下是您的问题的有效解决方案:

    <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”),您将获得progressBar的PrimeFaces JavaScript对象。使用jq,您将获得progressbar的jQuery元素。然后可以使用jQuery方法显示和隐藏。