iter(g138): 日期选择支持区间模式

This commit is contained in:
HIsheR
2026-10-26 15:31:26 +08:00
parent b3fd20c103
commit 1af4e57a16
8 changed files with 110 additions and 19 deletions
+8 -3
View File
@@ -1,6 +1,6 @@
# @ui-arch 组件库 Agent 文档(无图形版)
> 自动生成于 2026-10-26T07:28:06.168Z,数据源:各包 ua.manifest.json,勿手改。人类版文档站:apps/docs/index.html。
> 自动生成于 2026-10-26T07:31:10.742Z,数据源:各包 ua.manifest.json,勿手改。人类版文档站:apps/docs/index.html。
> 组件 = 普通函数,传 props 返回 DOM;状态用 signal 双向绑定:读 signal() 写 signal(v)。
## 快速上手
@@ -1386,8 +1386,11 @@ autoComplete({ value: acValue, placeholder: '输入组件名', options: [{ value
参数:
- value:Signal<string> —— 选中日期(YYYY-MM-DD)信号;不传则内部维护
- placeholder:string —— 未选时占位文案;缺省「请选择日期」
- value:Signal<string> —— 选中日期(YYYY-MM-DD)信号;区间模式下是起始日,不传则内部维护
- range(默认 false):boolean —— 区间模式:首次点击定起点(弹层不收起),再次点击定终点;点早了自动交换先后
- end:Signal<string> —— 区间模式的结束日信号;不传则内部维护
- onRangeChange(回调):(start: string, end: string) => void —— 区间两端都选定后的回调,参数已按先后排序(单日模式不触发)
- placeholder:string —— 未选时占位文案;缺省「请选择日期」(区间模式缺省「请选择日期范围」)
- min:string —— 最早可选日期(含,YYYY-MM-DD);更早的日置灰不可点
- max:string —— 最晚可选日期(含,YYYY-MM-DD);更晚的日置灰不可点
- disabled:boolean | Signal<boolean> —— 禁用触发器
@@ -1406,6 +1409,8 @@ datePicker({ value: dateVal, min: '2026-10-20', max: '2026-10-31', onChange: (d)
3. 键盘:←→ 逐日、↑↓ 逐周、PageUp/PageDown 逐月、Enter 提交,跨月会自动翻页
4. min / max 为闭区间,越界日期置灰不可点也不可键盘选中
5. value 传信号即受控;Esc 收起(与弹窗/抽屉共用逐层关闭栈)
6. 选日期区间传 range: true:第一次点击只定起点(触发器显示「起 ~ …」),第二次点击补终点并收起,两端之间用低比重底色连成一条
7. 区间回调走 onRangeChange(start, end),参数已排序——用户先点晚的日期也不会出现 start > end;只需检视当前值就同时读 value 与 end 两个信号
现场演示:apps/docs/demo.html#sec-datepicker