angular - 具有未定义结果长度的角材料表分页器
问题描述
我正在使用带有分页的 Angular Material 表。
但是,我没有有限长度的表格结果。
那是由于使用了没有给我计算结果的firestore。
我能做的是获取 x 数量的结果,当用户按下下一页按钮时,另一个 x 数量的结果被加载。
但是,为了使用它,我必须像这样将长度传递给分页器:
<mat-paginator [length]="resultsLength" [pageSize]="eventsPerPage"></mat-paginator>
问题是现在我仅限于将此长度设置为某个数字,例如 100 以解决我的问题。
简而言之:
- 我不知道结果的数量。把它想象成一个无限的页表
- 对服务器的第一个请求可以说返回前 10 个结果
- 如果我将该 resultLength 分配给分页器,那么当分页器认为它到达末尾时,我没有选项可以转到下一页?
所以上面的最后一点是我的问题
解决方案
当您动态加载记录时,有一个带有结果的 rowcount 属性。将 rowcount 分配给 resultsLength 以加载分页器。使用 mat-paginator 中的 page 事件,以便当用户更改页面时,自动调用此事件并返回下一组结果。每次返回结果时,都会根据 pageSize 更改行数。
请参阅此链接 https://material.angular.io/components/paginator/examples
推荐阅读
- firebase - 是否可以运行以时间或动作频率为指标的 Firebase AB 测试?
- javascript - 如何检测是否从另一个页面上的按钮访问了 URL,如果没有,将用户重定向到主页?
- java - 无法使用 ffmpeg 连接 mp4 文件
- google-apps-script - Google Script to Auto Fil Google Doc(将文本字符串转换为货币)
- azure - cosmosdb 是否更新删除记录,即使只有单个字段更改
- mysql - 存储过程的 MySQL 语法错误
- reactjs - NextJS 中的身份验证和持久化令牌
- c# - 控制器中写入行的 cshtml 选项值
- java - 描述从其他函数调用通用函数的 Trem
- google-apps-script - 如何验证 Google Apps 脚本