logoAnt Design

⌘ K
  • 设计
  • 研发
  • 组件
  • 博客
  • 资源
  • 国内镜像
5.25.2
  • 组件总览
  • 通用
    • Button按钮
    • FloatButton悬浮按钮
      5.0.0
    • Icon图标
    • Typography排版
  • 布局
    • Divider分割线
    • Flex弹性布局
      5.10.0
    • Grid栅格
    • Layout布局
    • Space间距
    • Splitter分隔面板
      5.21.0
  • 导航
    • Anchor锚点
    • Breadcrumb面包屑
    • Dropdown下拉菜单
    • Menu导航菜单
    • Pagination分页
    • Steps步骤条
    • Tabs标签页
  • 数据录入
    • AutoComplete自动完成
    • Cascader级联选择
    • Checkbox多选框
    • ColorPicker颜色选择器
      5.5.0
    • DatePicker日期选择框
    • Form表单
    • Input输入框
    • InputNumber数字输入框
    • Mentions提及
    • Radio单选框
    • Rate评分
    • Select选择器
    • Slider滑动输入条
    • Switch开关
    • TimePicker时间选择框
    • Transfer穿梭框
    • TreeSelect树选择
    • Upload上传
  • 数据展示
    • Avatar头像
    • Badge徽标数
    • Calendar日历
    • Card卡片
    • Carousel走马灯
    • Collapse折叠面板
    • Descriptions描述列表
    • Empty空状态
    • Image图片
    • List列表
    • Popover气泡卡片
    • QRCode二维码
      5.1.0
    • Segmented分段控制器
    • Statistic统计数值
    • Table表格
    • Tag标签
    • Timeline时间轴
    • Tooltip文字提示
    • Tour漫游式引导
      5.0.0
    • Tree树形控件
  • 反馈
    • Alert警告提示
    • Drawer抽屉
    • Message全局提示
    • Modal对话框
    • Notification通知提醒框
    • Popconfirm气泡确认框
    • Progress进度条
    • Result结果
    • Skeleton骨架屏
    • Spin加载中
    • Watermark水印
      5.1.0
  • 其他
    • Affix固钉
    • App包裹组件
      5.1.0
    • ConfigProvider全局化配置
    • Util工具类
      5.13.0

TimePicker
时间选择框

输入或选择时间的控件。
使用import { TimePicker } from "antd";
源码components/time-picker
文档
编辑此页更新日志

相关资源

Ant Design X
Ant Design Charts
Ant Design Pro
Pro Components
Ant Design Mobile
Ant Design Mini
Ant Design Web3
Ant Design Landing-首页模板集
Scaffolds-脚手架市场
Umi-React 应用开发框架
dumi-组件/文档研发工具
qiankun-微前端框架
Ant Motion-设计动效
国内镜像站点 🇨🇳

社区

Awesome Ant Design
Medium
Twitter
yuque logoAnt Design 语雀专栏
Ant Design 知乎专栏
体验科技专栏
seeconf logoSEE Conf-蚂蚁体验科技大会
加入我们

帮助

GitHub
更新日志
常见问题
报告 Bug
议题
讨论区
StackOverflow
SegmentFault

Ant XTech logo更多产品

yuque logo语雀-构建你的数字花园
AntV logoAntV-数据可视化解决方案
Egg logoEgg-企业级 Node.js 框架
Kitchen logoKitchen-Sketch 工具集
Galacean logoGalacean-互动图形解决方案
xtech logo蚂蚁体验科技
主题编辑器
Made with ❤ by
蚂蚁集团和 Ant Design 开源社区

何时使用

当用户需要输入一个时间,可以点击标准输入框,弹出时间面板进行选择。

代码演示

基本

点击 TimePicker,然后可以在浮层中选择或者输入某一时间。

CodeSandbox Icon
codeblock
codepen icon
External Link Icon
expand codeexpand code
三种大小

三种大小的输入框,大的用在表单中,中的为默认。

CodeSandbox Icon
codeblock
codepen icon
External Link Icon
expand codeexpand code
禁用

禁用时间选择。

CodeSandbox Icon
codeblock
codepen icon
External Link Icon
expand codeexpand code
步长选项

可以使用 hourStep minuteStep secondStep 按步长展示可选的时分秒。

CodeSandbox Icon
codeblock
codepen icon
External Link Icon
expand codeexpand code
12 小时制

12 小时制的时间选择器,默认的 format 为 h:mm:ss a。

CodeSandbox Icon
codeblock
codepen icon
External Link Icon
expand codeexpand code
范围选择器

通过 TimePicker.RangePicker 使用时间范围选择器。

CodeSandbox Icon
codeblock
codepen icon
External Link Icon
expand codeexpand code
自定义状态

使用 status 为 TimePicker 添加状态,可选 error 或者 warning。

CodeSandbox Icon
codeblock
codepen icon
External Link Icon
expand codeexpand code
受控组件

value 和 onChange 需要配合使用。

CodeSandbox Icon
codeblock
codepen icon
External Link Icon
expand codeexpand code
选择确认

TimePicker 默认会根据 picker 的交互行为,自动选择是否需要确认按钮。你也可以通过 needConfirm 属性来手动设置是否需要确认按钮。当有 needConfirm 时,用户始终需要点击确认按钮才能完成选择。反之,则会在选择或者失去焦点时提交。

CodeSandbox Icon
codeblock
codepen icon
External Link Icon
expand codeexpand code
5.14.0
选择时分

TimePicker 浮层中的列会随着 format 变化,当略去 format 中的某部分时,浮层中对应的列也会消失。

CodeSandbox Icon
codeblock
codepen icon
External Link Icon
expand codeexpand code
附加内容

在 TimePicker 选择框底部显示自定义的内容。

CodeSandbox Icon
codeblock
codepen icon
External Link Icon
expand codeexpand code
滚动即改变

通过 changeOnScroll 与 needConfirm 使其滚动时改变数值。

CodeSandbox Icon
codeblock
codepen icon
External Link Icon
expand codeexpand code
5.14.0
形态变体

TimePicker 形态变体,可选 outlined filled borderless underlined 四种形态。

CodeSandbox Icon
codeblock
codepen icon
External Link Icon
expand codeexpand code
5.13.0
前后缀

自定义前缀 prefix 和后缀图标 suffixIcon。

CodeSandbox Icon
codeblock
codepen icon
External Link Icon
expand codeexpand code

API


通用属性参考:通用属性

jsx
import dayjs from 'dayjs';
import customParseFormat from 'dayjs/plugin/customParseFormat'
dayjs.extend(customParseFormat)
<TimePicker defaultValue={dayjs('13:30:56', 'HH:mm:ss')} />;
参数说明类型默认值版本
allowClear自定义清除按钮boolean | { clearIcon?: ReactNode }true5.8.0: 支持对象类型
autoFocus自动获取焦点booleanfalse
cellRender自定义单元格的内容(current: number, info: { originNode: React.ReactNode, today: dayjs, range?: 'start' | 'end', subType: 'hour' | 'minute' | 'second' | 'meridiem' }) => React.ReactNode-5.4.0
changeOnScroll在滚动时改变选择值booleanfalse5.14.0
className选择器类名string-
defaultValue默认时间dayjs-
disabled禁用全部操作booleanfalse
disabledTime不可选择的时间DisabledTime-4.19.0
format展示的时间格式stringHH:mm:ss
getPopupContainer定义浮层的容器,默认为 body 上新建 divfunction(trigger)-
hideDisabledOptions隐藏禁止选择的选项booleanfalse
hourStep小时选项间隔number1
inputReadOnly设置输入框为只读(避免在移动设备上打开虚拟键盘)booleanfalse
minuteStep分钟选项间隔number1
needConfirm是否需要确认按钮,为 false 时失去焦点即代表选择boolean-5.14.0
open面板是否打开booleanfalse
placeholder没有值的时候显示的内容string | [string, string]请选择时间
placement选择框弹出的位置bottomLeft bottomRight topLeft topRightbottomLeft
popupClassName弹出层类名string-
popupStyle弹出层样式对象object-
prefix自定义前缀ReactNode-5.22.0
renderExtraFooter选择框底部显示自定义的内容() => ReactNode-
secondStep秒选项间隔number1
showNow面板是否显示“此刻”按钮boolean-4.4.0
size输入框大小,large 高度为 40px,small 为 24px,默认是 32pxlarge | middle | small-
status设置校验状态'error' | 'warning'-4.19.0
suffixIcon自定义的选择框后缀图标ReactNode-
use12Hours使用 12 小时制,为 true 时 format 默认为 h:mm:ss abooleanfalse
value当前时间dayjs-
variant形态变体outlined | borderless | filled | underlinedoutlined5.13.0 | underlined: 5.24.0
onCalendarChange待选日期发生变化的回调。info 参数自 4.4.0 添加function(dates: [dayjs, dayjs], dateStrings: [string, string], info: { range:start|end })-
onChange时间发生变化的回调function(time: dayjs, timeString: string): void-
onOpenChange面板打开/关闭时的回调(open: boolean) => void-

DisabledTime

typescript
type DisabledTime = (now: Dayjs) => {
disabledHours?: () => number[];
disabledMinutes?: (selectedHour: number) => number[];
disabledSeconds?: (selectedHour: number, selectedMinute: number) => number[];
disabledMilliseconds?: (
selectedHour: number,
selectedMinute: number,
selectedSecond: number,
) => number[];
};

注意:disabledMilliseconds 为 5.14.0 新增。

方法

名称描述版本
blur()移除焦点
focus()获取焦点

RangePicker

属性与 DatePicker 的 RangePicker 相同。还包含以下属性:

参数说明类型默认值版本
disabledTime不可选择的时间RangeDisabledTime-4.19.0
order始末时间是否自动排序booleantrue4.1.0

RangeDisabledTime

typescript
type RangeDisabledTime = (
now: Dayjs,
type = 'start' | 'end',
) => {
disabledHours?: () => number[];
disabledMinutes?: (selectedHour: number) => number[];
disabledSeconds?: (selectedHour: number, selectedMinute: number) => number[];
};

Semantic DOM

  • root
    5.25.0
    根元素
  • popup.root
    5.25.0
    弹出框根元素

主题变量(Design Token)

组件 Token如何定制?
Token 名称描述类型默认值
activeBg输入框激活状态时背景颜色string#ffffff
activeBorderColor激活态边框色string#1677ff
activeShadow激活态阴影string0 0 0 2px rgba(5,145,255,0.1)
addonBg前/后置标签背景色stringrgba(0,0,0,0.02)
cellActiveWithRangeBg选取范围内的单元格背景色string#e6f4ff
cellBgDisabled单元格禁用态背景色stringrgba(0,0,0,0.04)
cellHeight单元格高度number24
cellHoverBg单元格悬浮态背景色stringrgba(0,0,0,0.04)
cellHoverWithRangeBg选取范围内的单元格悬浮态背景色string#cbe0fd
cellRangeBorderColor选取范围时单元格边框色string#82b4f9
cellWidth单元格宽度number36
errorActiveShadow错误状态时激活态阴影string0 0 0 2px rgba(255,38,5,0.06)
hoverBg输入框hover状态时背景颜色string#ffffff
hoverBorderColor悬浮态边框色string#4096ff
inputFontSize字体大小number14
inputFontSizeLG大号字体大小number16
inputFontSizeSM小号字体大小number14
multipleItemBg多选标签背景色stringrgba(0,0,0,0.06)
multipleItemBorderColor多选标签边框色stringtransparent
multipleItemBorderColorDisabled多选标签禁用边框色stringtransparent
multipleItemColorDisabled多选标签禁用文本颜色stringrgba(0,0,0,0.25)
multipleItemHeight多选标签高度number24
multipleItemHeightLG大号多选标签高度number32
multipleItemHeightSM小号多选标签高度number16
multipleSelectorBgDisabled多选框禁用背景stringrgba(0,0,0,0.04)
paddingBlock输入框纵向内边距number4
paddingBlockLG大号输入框纵向内边距number7
paddingBlockSM小号输入框纵向内边距number0
paddingInline输入框横向内边距number11
paddingInlineLG大号输入框横向内边距number11
paddingInlineSM小号输入框横向内边距number7
presetsMaxWidth预设区域最大宽度number200
presetsWidth预设区域宽度number120
textHeight单元格文本高度number40
timeCellHeight时间单元格高度number28
timeColumnHeight时间列高度number224
timeColumnWidth时间列宽度number56
warningActiveShadow警告状态时激活态阴影string0 0 0 2px rgba(255,215,5,0.1)
withoutTimeCellHeight十年/年/季/月/周单元格高度number66
zIndexPopup弹窗 z-indexnumber1050
全局 Token如何定制?

FAQ

  • 如何在 TimePicker 中使用自定义日期库(如 Moment.js )