E5.06.3adjustable page size设计
每页数量应可调整
别名: 每页条数 · page size · 分页密度
概念解释
一页切多少条决定扫视密度、请求体积和总页数。可调每页数量(adjustable page size)让同一种分页在「少而清晰」和「多而总览」之间按任务切换。它不管页码怎么编号、也不管能不能跳到某一页,只管切块的粒度是否被锁死在一个对所有人都不合适的默认值上。
机制
默认条数是设计者对「一屏能扫完」的猜测。对照、勾选、阅读长文本的人需要较少行,以免滚动里丢失已选项;扫描目录、比对很多字段的人需要较多行,以免总页数膨胀成无法翻完的距离。粒度还跟网络和渲染绑定:条数加倍,单次请求和表格重排的成本加倍,但总往返次数下降。把粒度锁死,等于强迫所有任务、所有网速、所有窗口高度共用同一个切法。
改条数会重写坐标系:原来的「第 5 页」在新粒度下不再是同一批对象。若系统不说明、不把用户留在同一条记录附近,可调粒度会破坏本可由页码提供的回溯。所以可调不是一个孤立下拉框,它必须和「当前看到的是哪一段」一起重新锚定。
边界
公开分享的页地址若把条数写进 URL,收件人会看到不同密度,这可以是特性也可以是混乱——共享场景宜有一个稳定默认,把条数当作个人偏好存在本地。移动端一屏已接近默认条数时,再提供 100 条会变成超长页,失去分页的切块意义。无总数的流式接口无法按条数切出稳定页,调节会变成「每次多取一点」,那是另一类控件。无障碍用户可能依赖「每页较少以便朗读」,强制大页会超出工作记忆。
怎么落地
- 提供少量档位(例如 10 / 20 / 50),不要用任意整数输入当主方式;改完后保持筛选,并把视口锚定在改之前正在看的那条或它的邻近。
- 把所选档位记成该列表的个人偏好,不要每次回到默认;分享链接则明确是带条数还是只用默认。
- 总条数很少时藏起这个控件;总条数巨大时避免「全部」档,以免一次渲染拖垮页面。
- 验证:在第 n 页中部盯住一条记录,改大条数和改小条数各一次,该记录应仍在视口附近,且总页数随之变化。再换窗口高度和网速档,看默认档是否还扫得完、加载得完;任一失败就说明档位不是装饰。