Jsf Primefaces 8在p:dataTable分页后未隐藏ajax状态

Jsf Primefaces 8在p:dataTable分页后未隐藏ajax状态,jsf,primefaces,Jsf,Primefaces,我有一个惰性加载的primefaces 8数据表,如下所示: <p:dataTable value="#{....model}" var="..." rows="20" lazy="true" paginator="true" paginatorPosition="bottom"

我有一个惰性加载的primefaces 8数据表,如下所示:

<p:dataTable value="#{....model}" var="..." rows="20" lazy="true"
                                     paginator="true" paginatorPosition="bottom"
                                     paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
                                     currentPageReportTemplate="{startRecord}-{endRecord} of {totalRecords} records"
                                     emptyMessage="No records found">
....
</p:dataTable>
<p:ajaxStatus onstart="PF('statusDialog').show()" onsuccess="PF('statusDialog').hide()"/>
    <p:dialog widgetVar="statusDialog" modal="false" draggable="false" closable="false" resizable="false"
              showHeader="false"
              styleClass="app-loader-dialog">
        <div id="app-loader" class="app-loader">
            <div class="app-loader-content">
                loading...
            </div>
        </div>
    </p:dialog>

....
以及定义如下的p:ajaxStatus:

<p:dataTable value="#{....model}" var="..." rows="20" lazy="true"
                                     paginator="true" paginatorPosition="bottom"
                                     paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
                                     currentPageReportTemplate="{startRecord}-{endRecord} of {totalRecords} records"
                                     emptyMessage="No records found">
....
</p:dataTable>
<p:ajaxStatus onstart="PF('statusDialog').show()" onsuccess="PF('statusDialog').hide()"/>
    <p:dialog widgetVar="statusDialog" modal="false" draggable="false" closable="false" resizable="false"
              showHeader="false"
              styleClass="app-loader-dialog">
        <div id="app-loader" class="app-loader">
            <div class="app-loader-content">
                loading...
            </div>
        </div>
    </p:dialog>

加载。。。
我注意到的问题是,分页时,“状态”对话框会打开,但即使在分页完成后它仍会保持打开状态,此时它将被隐藏

但是对于其他ajax活动,如依赖下拉列表等,它会适当地显示和隐藏


如何解决此问题?

我将数据表包装成了一个h:form,它现在可以工作了。

浏览器的JavaScript控制台中有任何错误吗?嗨@JasperdeVries,谢谢。我没有收到错误,但控制台中的以下警告:主线程上的同步XMLHttpRequest已被弃用,因为它会对最终用户的体验产生有害影响。如需更多帮助,请查看https://xhr.spec.whatwg.org/用
oncomplete
代替
onsuccess
怎么样?我完全按照你所做的做,但我使用
oncomplete
。嗨@Melloware,谢谢。我已经尝试过这个问题,但仍然是同一个问题。嗨@Melloware,它现在可以工作了。如果是我的错误,我必须将数据表包装成一个h:form及其工作方式。谢谢