iter(g222): 时间选择支持高度档位

This commit is contained in:
HIsheR
2026-10-26 20:03:10 +08:00
parent 467de41d4e
commit 3067c6380a
6 changed files with 20 additions and 8 deletions
+3 -1
View File
@@ -1,6 +1,6 @@
# @ui-arch 组件库 Agent 文档(无图形版)
> 自动生成于 2026-10-26T11:59:09.023Z,数据源:各包 ua.manifest.json,勿手改。人类版文档站:apps/docs/index.html。
> 自动生成于 2026-10-26T12:02:54.662Z,数据源:各包 ua.manifest.json,勿手改。人类版文档站:apps/docs/index.html。
> 组件 = 普通函数,传 props 返回 DOM;状态用 signal 双向绑定:读 signal() 写 signal(v)。
## 快速上手
@@ -1995,6 +1995,7 @@ const cmdk = commandPalette({ open: signal(false), items: [{ id: 'save', label:
- value:Signal<string> —— 选中时间信号(HH:mm);不传则内部维护
- minuteStep:number —— 分钟步长;缺省 5,超过 30 按 30 处理(如 15 只有 00/15/30/45)
- clearable:boolean —— 显示清空按钮 ×(仅在有值时出现);缺省 false,键盘 Delete / Backspace 等价
- size:'sm' | 'md' | 'lg' —— 触发器高度档位,与 textField / select 同口径;缺省 md
- placeholder:string —— 未选时占位文案;缺省「请选择时间」
- disabled:boolean | Signal<boolean> —— 禁用触发器
- onChange:(time: string) => void —— 写回回调:选时即触发一次(分默认 00),选完分再触发一次
@@ -2013,6 +2014,7 @@ const at = signal('09:30'); timePicker({ value: at, minuteStep: 15, onChange: (t
4. 列内可用 ↑↓ 环形移动、Home/End 直达首末;Tab、Esc、点击外部都能正常进出与收起
5. 需要 15 分钟一档就传 minuteStep: 15,步长只影响分列的可选值,时列始终 24 档
6. 需要允许回到「未选」态就传 clearable: true:有值时触发器右侧出现 ×(不进 Tab 序),聚焦触发器按 Delete / Backspace 也能清空,回调收到空串
7. 要和输入框并排对齐就传 size(sm / md / lg):高度走 --ua-control-h-* 三档,与 textField、select 的档位完全同源,不会出现「旁边的输入框矮 6px」
现场演示:apps/docs/demo.html#sec-timepicker