跳到正文

分页

Pagination

初级通用

分页(Pagination)是把一组有顺序的内容分成多页,并提供切换页面的入口。它让你不用一次展示全部结果,也让用户能按页查看和返回;比如后台订单列表每页显示一部分订单。

你可能会说:「订单越来越多,我想让列表分批显示,还能点页码查看前后内容。」

动手看看

订单管理共 12 笔订单 · 按创建时间从新到旧
订单编号 / 客户 / 金额 / 状态
#1042 · 林晓 · ¥268 · 待发货
#1041 · 陈晨 · ¥129 · 已发货
#1040 · 王宁 · ¥399 · 待发货
#1039 · 赵悦 · ¥86 · 已完成
#1038 · 周扬 · ¥158 · 已发货
#1037 · 刘欣 · ¥520 · 已完成
#1036 · 吴桐 · ¥75 · 已完成
#1035 · 徐岚 · ¥236 · 已发货
#1034 · 孙晴 · ¥189 · 已完成
#1033 · 马骏 · ¥320 · 已完成
#1032 · 何露 · ¥99 · 已完成
#1031 · 郑远 · ¥468 · 已完成
每页 4 条 · 第 1 / 3 页
1
2
3

拖动下方的当前页,模拟翻页并观察订单替换;页码可悬停、按住或用 Tab 聚焦,演示操作反馈,实际换页由参数控制。

12 笔订单按时间排好,每页只展示 4 笔。第一页显示第 1—4 条,不是只剩这 4 笔,其余结果在后面的页里。

要点

  1. 1

    先确定每页展示多少条

    你可以给列表设定每页条数,再根据当前页取出对应的内容。这样页面不用一次呈现所有结果。数据很多时,通常也让服务端按页返回,而不是先把全部数据交给浏览器。

  2. 2

    让用户知道自己在哪一页

    页码、上一页和下一页帮用户在结果之间移动;当前页要能辨认。若能拿到总条数,还可以显示总页数,让用户判断离末尾有多远;拿不到总数时,就别凭空显示总页数。

  3. 3

    排序与筛选会改变页码含义

    同一个页码,换一种排序或筛选条件,指向的结果就不同。比如你在订单列表第六页筛选“待发货”,原来的第六页可能已不存在,这时回到第一页比保留旧页码更容易理解。

  4. 4

    稳定顺序才能减少漏看

    如果列表没有明确排序,新数据插入后,同一条内容可能在不同页间移动。做后台列表时,你可以先约定排序字段,再决定如何取下一页;数据频繁变化时,还要考虑用户翻页会不会漏看或重复看到记录。

容易混淆的地方

分页切换的是同一组结果的不同部分,不是把一项任务拆成多个操作阶段;填写资料的“第 1 步、第 2 步”更接近步骤条。无限滚动也会分批获取内容,但通常是在当前位置继续加载;分页则给用户明确的页边界,便于跳转和返回。

什么时候用

适合用

  • 后台订单列表有大量记录,你希望用户能按页查找,并从详情页返回刚才查看的那一页。
  • 搜索结果可能有很多条,你希望用户看完当前结果后,能主动切换到下一页或指定页。
  • 管理台的成员表格需要筛选和排序,你希望每次只请求并展示当前页的数据。

不适合用

  • 设置页只有几项固定内容,全部展示就能看完;拆成多页反而增加查找和切换成本。
  • 用户正在完成一段有先后顺序的开户流程;用步骤条说明进度,而不是用分页表达任务阶段。
  • 短视频流的目标是让用户顺势继续浏览;连续加载通常比要求用户点页码更贴合这个场景。

练一练

你在做订单管理页:订单很多,运营会筛选状态、按时间排序,还会从列表进入详情再返回。哪种方案更符合分页的用途?

让 AI 帮你做

请为订单管理列表实现分页:按当前状态筛选和时间排序条件请求当前页数据,展示当前页及上一页、下一页入口;切换筛选条件时回到第一页,从订单详情返回时恢复筛选、排序和页码。若接口不提供总条数,就不要显示总页数。

接下来学什么