JGuang

时间选择器

TimePicker · Arco Design

交互预览
npm install @arco-design/web-react@2.66.18

时间选择器 TimePicker

在弹出面板上选择时间,以便捷完成时间输入的控件。

安装

npm install @arco-design/web-react@2.66.18

在入口引入 @arco-design/web-react/dist/css/arco.css,用 ConfigProvider 设置语言。React 19 项目还需在入口最先引入 @arco-design/web-react/es/_util/react-19-adapter,否则 Message、Modal 等命令式 API 无法渲染。

示例

  • 基础用法:时间输入器的基础用法。
  • 不同状态:不同状态的时间输入器
  • 受控组件:value 和 onChange 需要配合使用。
  • 带有前缀:通过 prefix 属性设置前缀
  • 尺寸:有四种尺寸可供选择。
  • 禁用:禁用状态。
  • 定制时分:通过设置 format,可以定制需要显示的时、分、秒。
  • 定制步长:通过设置 step,可以定制需要显示的时、分、秒的步长。
  • 默认值:时间输入器的有默认值的情况。
  • 附加内容:选择框底部显示自定义的内容。
  • 禁用部分时间选项:通过设置 disabledHours disabledMinutes disabledSeconds,可以禁用 时 / 分 / 秒的部分选项。
  • 十二小时制:通过设置 use12Hours,可以定制需要显示的时、分、秒。
  • 范围选择器:时间输入器的范围选择器。
  • 禁用确认:跳过确认步骤,直接点击选择时间。
  • UTC 时间:通过 utcOffset 字段设置 UTC 时间。 注意:使用 UTC 或者时区时间,传值的时候要用 timestamp 或者 Date 对象,使用字符串不能表示唯一时间,会造成困扰。
  • 时区:通过 timezone 字段设置时区,如果设置了 utcOffset,以 utcOffset 为准。 注意:使用 UTC 或者时区时间,传值的时候要用 timestamp 或者 Date 对象,使用字符串不能表示唯一时间,会造成困扰。

示例来自 Arco Design 官方仓库(MIT),固定在 npm 2.66.18 对应的提交;部分示例使用在线图片或上传地址,预览中网络请求被禁用。

API

Picker

TimePicker 和 RangePicker 的通用属性

参数名描述类型默认值版本
allowClear允许清除booleantrue-
disableConfirm禁用确认步骤,开启后直接点选时间不需要点击确认按钮。boolean-2.12.0
disabled是否禁用boolean--
editable是否可手动输入booleantrue-
error是否是错误状态。(废弃,下个大版本移除,使用 status='error' 替代)boolean--
hideDisabledOptions隐藏禁止选择的选项boolean--
popupVisible控制弹出框打开或者关闭boolean--
scrollSticky时间列在滚动的时候自动吸附和选中booleantrue2.23.0
unmountOnExit是否在关闭后销毁 dom 结构boolean--
use12Hours12 小时制boolean--
utcOffset设置时区偏移,如果需要 utc 时间则设置为 0。number--
format展示日期的格式,参考dayjsstringHH:mm:ss-
timezone设置时区, 如果设置了 utcOffset,则以 utcOffset 为准。string--
position弹出的框的位置'top' | 'tl' | 'tr' | 'bottom' | 'bl' | 'br'bl-
size输入框尺寸'mini' | 'small' | 'default' | 'large'--
status状态'error' | 'warning'-2.45.0
extra底部附加内容ReactNode--
prefix前缀ReactNode-2.43.0
triggerElement触发元素。ReactNode-2.38.0
className节点类名string | string[]--
icons用于配置图标{ inputSuffix?: ReactNode }--
placeholder提示文案string | string[]--
step设置 时 / 分 / 秒 的选择间隔{ hour?: number; minute?: number; second?: number }--
style节点样式CSSProperties--
triggerProps可以传入 Trigger 组件的参数Partial<TriggerProps>--
disabledHours禁用的部分小时选项() => number[]--
disabledMinutes禁用的部分分钟选项(selectedHour) => number[]--
disabledSeconds禁用的部分秒数选项(selectedHour, selectedMinute) => number[]--
getPopupContainer弹出框挂载的父节点(node: HTMLElement) => Element--
onClear点击清除按钮的回调() => void--

TimePicker

参数名描述类型默认值版本
showNowBtn是否显示选择当前时间的按钮booleantrue2.21.0
defaultValue默认时间CalendarValue--
value组件的值,受控模式CalendarValue--
onChange选择时间时的回调(valueString: string, value: Dayjs) => void--
onSelect组件值发生改变时的回调(valueString: string, value: Dayjs) => void--

TimePicker.RangePicker

参数名描述类型默认值版本
order起止时间是否自动排序booleantrue2.21.0
defaultValue默认时间CalendarValue[]--
placeholder提示文案string[]--
value日历组件的值CalendarValue[]--
onChange日历组件值发生改变时的回调(valueString: string[], value: Dayjs[]) => void--
onSelect选择日期时的回调(valueString: string[], value: Dayjs[]) => void--

CalendarValue

export type CalendarValue = Dayjs | Date | string | number;