angular - PrimeNG 数据滚动条条件加载器
问题描述
我正在尝试在我的一个模块中实现PrimeNG Data Scroller。我想显示“显示更多”按钮以仅在有更多数据要显示时才加载数据,也就是说,如果我的数组的计数超过 5 个左右。
我尝试创建变量并使用 ngIf 但按钮操作停止工作。这是我的代码片段 -
<p-dataScroller [value]="filteredComments" [rows]="5" [loader]="loadButton">
<p-header>
..removed code for better clarity
</p-header>
<ng-template let-comment pTemplate="item">
.. removed code for better clarity
</ng-template>
<p-footer *ngIf="filteredComments.length > 5">
<span class="button btn-header btn-orange loaderButton" #loadButton>
Show More
</span>
</p-footer>
</p-dataScroller>
解决方案
我最终通过使用“可见” css 样式解决了这个问题。这并不理想,我不确定为什么组件本身没有解决这个问题,但这里有一种方法可以在不扩展组件的情况下自己解决这个问题:
<p-footer [style.visibility]="isMoreToLoad ? 'visible' : 'hidden'">
<span class="button btn-header btn-orange loaderButton">
</span>
</p-footer>
然后,您可以将组件中的 isMoreToLoad 条件设置为任何 getter 函数等。这样的例子就是:
get isMoreToLoad() : boolean {
return this.filteredComments.length < this.totalFilteredComments;
}
推荐阅读
- html - 滑块 CSS 图像文件的不透明度
- python - 为什么空值在删除 PySpark 后仍在列中
- javascript - 如何在 Vanilla JavaScript 中逐行读取文件?
- android - 目录随机不存在
- graphql - 当所有 URL 都相同时,如何在开发工具网络选项卡中区分 GraphQL 请求?
- sql-server - SQL Server 中可读格式的时间戳
- javascript - 拖动条件绘制 - Openlayers
- c# - 在 iis 中使 ASP.NET Web 应用程序自动重新编译
- javascript - 在 html/css 中制作一个外圆分为 8 个部分
- python - Powershell 以数组形式输出 (Python)