jsf - Primefaces 8 ajax状态在p:dataTable分页后没有隐藏
问题描述
我有一个延迟加载的 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>
和 ap:ajaxStatus 定义如下:
<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 活动,例如依赖下拉列表等,它会适当地显示和隐藏。
我该如何解决这个问题?
解决方案
我将 dataTable 包装在 ah:form 中,现在它可以工作了。
推荐阅读
- cucumber - 当我定义如下功能时它不起作用。我只想知道错误在哪里,我可以在同一个功能文件中使用两个场景大纲
- arrays - 对数组 [(int, int)] 排序,以便在 scala 中列出
- reporting-services - 打印布局不显示重复的表格标题 ssrs
- android-studio - 我正在尝试使用 2 个滚动视图,但我可以看到一个但看不到另一个
- laravel - 从 laravel 关系中获取结果
- c - 如何使用另一个指针访问函数指针数组的元素,然后调用其中一个函数?
- javascript - 将图像添加到 Twitter 共享
- javascript - 路径长度变化时保持 stroke-dasharray 一致
- pentaho - Pentaho 数据集成:即使成功,作业也会继续运行
- angular - 值评估后,ag-grid cellRenderer 渲染单元失败