chore(backlog): 记录 g216 完成
This commit is contained in:
@@ -2330,6 +2330,15 @@
|
|||||||
"status": "done",
|
"status": "done",
|
||||||
"notes": "recipes.md 新增配方 13(共 13 条):datePicker(min 限制今天) + timePicker(minuteStep 15) 各绑一个信号,at 由 computed 拼装,form 的 required 拦半截状态,onSubmit 走 toast;要点五条覆盖「两段各管一段 / 时间给初值日期留空 / 约束优先于校验 / 半截状态交 required / 区间怎么拼」;ua recipes 13 能识别 datePicker、form、timePicker、toast 四个组件;verify 的配方结构校验(编号连续 + 代码块 + 要点 + 至少一个组件 id)通过",
|
"notes": "recipes.md 新增配方 13(共 13 条):datePicker(min 限制今天) + timePicker(minuteStep 15) 各绑一个信号,at 由 computed 拼装,form 的 required 拦半截状态,onSubmit 走 toast;要点五条覆盖「两段各管一段 / 时间给初值日期留空 / 约束优先于校验 / 半截状态交 required / 区间怎么拼」;ua recipes 13 能识别 datePicker、form、timePicker、toast 四个组件;verify 的配方结构校验(编号连续 + 代码块 + 要点 + 至少一个组件 id)通过",
|
||||||
"domain": "tooling"
|
"domain": "tooling"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "g216",
|
||||||
|
"title": "timePicker 支持 clearable 清空",
|
||||||
|
"motivation": "时间一旦选中就无法回到「未选」态:用户想撤销时只能重选一个假值;select 与 multiSelect 早已有 clearable 与 Delete/Backspace 等价键,timePicker 缺这一环,同一个表单里交互不一致。",
|
||||||
|
"acceptance": "timePicker 新增 clearable 入参:有值时触发器右侧出现 ×(不进 Tab 序、不与 ▾ 重叠),聚焦触发器按 Delete / Backspace 也能清空,清空写回空串并触发 onChange,同时收起弹层;样式只消费 --ua-* 令牌(含行高走 --ua-leading-none),npm run audit:visual 计数维持 0;types 与 manifest props / steps 同步;demo 演示清空;npm run check 全绿。",
|
||||||
|
"status": "done",
|
||||||
|
"notes": "timePicker.ts 138 行:clear() 只在有值时派发(避免空回调噪音),clearBtn 走 tabindex -1 不进 Tab 序、hidden 由 effect 跟 value 走;root 加 has-clear 类给触发器补右内距,× 用 right: --ua-space-6 让到 ▾ 左侧不重叠;root keydown 接管收起态的 Backspace/Delete(展开时按键归列内导航);types/manifest props(6 项)与 steps(7 条)同步,demo 首个实例开 clearable 并演示清空提示;踩坑:line-height: 1 被 audit:visual 的 leading-literal 拦下(基线 0),改走 --ua-leading-none 后十一类仍为 0",
|
||||||
|
"domain": "tune"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -260,3 +260,4 @@
|
|||||||
{"ts":"2026-10-26T19:53:33+08:00","id":"g213","result":"done","commit":"3505449","summary":"新增 timePicker(70 个组件):时 / 分两列弹层,HH:mm 双向绑定、minuteStep 可配、激活格居中滚动、列内 ↑↓/Home/End 导航,走 Esc 栈与 flip 翻转"}
|
{"ts":"2026-10-26T19:53:33+08:00","id":"g213","result":"done","commit":"3505449","summary":"新增 timePicker(70 个组件):时 / 分两列弹层,HH:mm 双向绑定、minuteStep 可配、激活格居中滚动、列内 ↑↓/Home/End 导航,走 Esc 栈与 flip 翻转"}
|
||||||
{"ts":"2026-10-26T19:54:55+08:00","id":"g214","result":"done","commit":"a607a40","summary":"七个弹层的 7 份重复入场 keyframes 收敛为 ua-pop-drop / ua-pop-rise 两个,时长与缓动全走令牌,五个 .is-flip 弹层补方向覆盖(翻转后不再朝反方向滑入)"}
|
{"ts":"2026-10-26T19:54:55+08:00","id":"g214","result":"done","commit":"a607a40","summary":"七个弹层的 7 份重复入场 keyframes 收敛为 ua-pop-drop / ua-pop-rise 两个,时长与缓动全走令牌,五个 .is-flip 弹层补方向覆盖(翻转后不再朝反方向滑入)"}
|
||||||
{"ts":"2026-10-26T19:55:45+08:00","id":"g215","result":"done","commit":"0fb9198","summary":"配方 13:日期 + 时间组合预约时点,示范两段各管一段(YYYY-MM-DD / HH:mm)、拼装交给 computed、约束优先于校验"}
|
{"ts":"2026-10-26T19:55:45+08:00","id":"g215","result":"done","commit":"0fb9198","summary":"配方 13:日期 + 时间组合预约时点,示范两段各管一段(YYYY-MM-DD / HH:mm)、拼装交给 computed、约束优先于校验"}
|
||||||
|
{"ts":"2026-10-26T19:57:26+08:00","id":"g216","result":"done","commit":"17da561","summary":"timePicker 补 clearable:有值时右侧出现 ×(不进 Tab 序),Delete/Backspace 等价清空,清空写回空串并收起弹层"}
|
||||||
|
|||||||
Reference in New Issue
Block a user