Navigator
Navigator 组件添加了用于在数据集之间导航的分页控件。它可以显示第一页、最后一页、下一页和上一页按钮以及页码或快速跳转字段,并在不适用时自动禁用控件。它绑定到 Paginator 实例以管理底层分页逻辑。
绑定到存储库
通常,Navigator 组件显示在绑定 Repository 中找到的信息。此绑定使 Navigator 能够自动对由存储库管理的数据进行分页,并根据导航数据刷新其他可绑定的组件,如表格。
为此,只需将所需的 Repository 对象传递给适用的 Navigator 对象的构造函数:
此示例创建了与同一 Repository 实例关联的 Navigator 和 Table。这意味着当使用 Navigator 导航到新页面时,Table 会识别此变化并重新渲染。
分页
Navigator 组件与 Paginator 模型类紧密相关,计算分页元数据,如总页数、当前页的项目开始/结束索引以及用于导航的页码数组。
虽然不是绝对必要,但使用 Paginator 使导航背后的逻辑变得更加明确。在与 Paginator 集成时,导航器会对 Paginator 中的任何更改做出响应。Navigator 对象可以通过使用 getPaginator() 方法访问内置的 Paginator,它还可以通过 setPaginator() 方法或使用其中一个适用的构造函数接受 Paginator 实例。
本节包括实用代码片段,以说明此集成在实际中的工作原理。
项目
“项目”一词指的是单个分页元素或数据条目。这些可以是记录、条目或数据集中任何离散单元。您可以使用 setTotalItems() 方法设置项目的总数。
navigator.getPaginator().setTotalItems(totalItems);
与 Paginator 实例关联的存储库具有直接由存储库管理的总项目数,而不能直接设置。
最大页数
setMax() 方法允许您定义在分页导航中显示的最大页面链接数。当处理大量页面时,这特别有用,因为它控制用户在任何给定时间看到的页面链接数。
navigator.getPaginator().setMax(maxPages);
此程序在 Navigator 上一次最多显示五个页面,使用 getPaginator() 方法检索与 Navigator 对象关联的 Paginator,然后使用 setMax() 方法指定所需的最大页数。