SPT术语库

时间选择器 TimePicker

用户在预约表单中选择会议开始时间,字段需要限制可选时段并回显最终时间。

前端与交互约 10 分钟 · 从真实需求理解

1为什么时间字段不能只让用户随便输入?

会议室预约选择今天的会议开始时间
预约
会议开始必填

只显示当前日期可用的小时和分钟。

预约摘要还没有时间选择时间后这里会同步更新

TimePicker 把小时和分钟组成一个可以验证的时间值。它的责任不是装饰一个时钟图标,而是限制候选、确认组合,并把最终时间回填到当前预约或排期任务。

2TimePicker、DatePicker 和文本输入,什么时候不能互换?

TimePicker ≠ DatePickerInput:TimePicker 负责一天中的合法时间,DatePicker 负责日历日期,Input 适合无法归一化为固定时间的文本。

  • 小时和分钟是同一个时间值的两个组成部分,不应让用户填入格式不一致的自由字符串。
  • 如果预约跨日期,日期与时间要分别表达,并在提交前组合成明确的值。

验收时检查触发按钮的 aria-expanded、弹层边界、小时分钟选择和确认后的回填值;不要只检查页面出现了一个输入框。

3TimePicker 由哪些真实部分组成?

TimePicker 由哪些真实部分组成?

会议室预约选择今天的会议开始时间
预约
会议开始必填

只显示当前日期可用的小时和分钟。

预约摘要还没有时间选择时间后这里会同步更新
  • 字段标签和触发器:说明这个时间值用于哪个预约任务,并负责打开选择面板。
  • 小时列与分钟列:把可选时间拆成可验证的两个维度。
  • 确认后的值:把组合结果回填到字段和当前预约摘要。

4TimePicker 的空值、已选和禁用

空值
已选
禁用

空值表示还没有时间,已选表示字段拥有可回填的合法值,禁用表示当前不能修改;这三个状态不能只通过颜色或占位文字的细微变化区分。

5预约时,TimePicker 如何把选择变成结果?

会议室预约
booking
会议室预约

选择今天 09:00–18:00 内的开始时间。

会议开始

时间选择器的完整反馈包含三个动作:打开候选、确认小时和分钟、把同一个值带入预约结果。缺少最后的回填,用户无法确认页面到底采用了哪个时间。

6什么时候该用 TimePicker?

只选择当天时段

候选小时和分钟有限,TimePicker 能直接产出合法时间值。

会议开始
已选 10:30
不建议这样用还需要选择日期

日历日期属于 DatePicker 的责任,日期和时间应分别表达。

已选:2026-08-16
不建议这样用内容是自然语言说明

“午饭后”这类不能验证为固定时间的内容应使用 Input 或 Textarea。

什么时候用 TimePicker,要先看任务需要的是一天中的合法时段、日历日期,还是无法归一化的自然语言;只有前者才应该如何使用时间选择器。

7怎样把 TimePicker 需求告诉 Agent?

请在会议室预约表单实现 TimePicker:只提供 09、10、11、14、15、16 点和 00、30 分,用户选择后字段回填完整的 HH:mm,并把同一个值显示在预约摘要里。请保留真实按钮、aria-expanded、Esc 关闭、键盘焦点和窄屏弹层定位;日期由独立 DatePicker 负责,自然语言说明不要塞进 TimePicker。

8不用背,看看你能不能判断

1 / 3

TimePicker 最主要负责哪一种值?

请选择一个最符合题意的答案

选择答案后自动进入下一题

社区延伸

看别人真实遇到过什么

社区帖子还没有关联到这个词条。