iter(g285): 分页总量支持信号并钳回越界页码
This commit is contained in:
+3
-2
@@ -1,6 +1,6 @@
|
||||
# @ui-arch 组件库 Agent 文档(无图形版)
|
||||
|
||||
> 自动生成于 2026-10-26T15:11:40.469Z,数据源:各包 ua.manifest.json,勿手改。人类版文档站:apps/docs/index.html。
|
||||
> 自动生成于 2026-10-26T15:13:43.474Z,数据源:各包 ua.manifest.json,勿手改。人类版文档站:apps/docs/index.html。
|
||||
> 组件 = 普通函数,传 props 返回 DOM;状态用 signal 双向绑定:读 signal() 写 signal(v)。
|
||||
|
||||
## 快速上手
|
||||
@@ -870,7 +870,7 @@ space({ size: 'lg' }, button({ label: '保存' }), button({ label: '取消', var
|
||||
|
||||
- page(必填):Signal<number> —— 当前页码信号,双向绑定:外部赋值自动翻页,点击页码写回信号
|
||||
- pageSize(必填):number —— 每页条数
|
||||
- total(必填):number —— 总条数
|
||||
- total(必填):number | Signal<number> —— 总条数;传信号则总量变化时自动重算页数(并把越界页码钳回并回调 onChange)
|
||||
- simple(默认 false):boolean —— 极简模式:只留上一页 / 下一页与「当前 / 总页」文字,适合表格工具栏等窄位
|
||||
- hideOnSinglePage(默认 false):boolean —— 只有一页时整个分页器隐藏(不占布局位)
|
||||
- onChange(回调):(page: number) => void —— 翻页回调
|
||||
@@ -893,6 +893,7 @@ const page = signal(1); pagination({ page, pageSize: 3, total: 24, onChange: (p)
|
||||
5. 键盘可达:全部是原生 button,Tab 聚焦后 Enter / Space 触发
|
||||
6. pageSizes 传候选数组即出现「N 条/页」切换器,切换后自动回第 1 页;onPageSizeChange 拿新条数重算数据
|
||||
7. 空间紧的地方传 simple:页码区换成「3 / 5」文字 + 两个箭头(文字带 aria-live,翻页会被读屏播报);数据少到只有一页时再传 hideOnSinglePage,整块自动消失而不是留个灰掉的 1
|
||||
8. 总量会变(筛选 / 删除后)就把 total 传信号:页码越界时组件自动钳到最后一页并回调 onChange,父级 state 不会停在空页
|
||||
|
||||
现场演示:apps/docs/demo.html#sec-pagination
|
||||
|
||||
|
||||
Reference in New Issue
Block a user