DatePicker
是一个用于选择日期(以及可选的时间)的 UI 组件,支持通过多种显示方式(如日历、滚轮、文本等)进行交互。它允许用户根据自己的需求选择特定的日期,并根据组件配置决定是否包括时间选择。此组件特别适合需要日期和时间输入的场景,例如选择事件的开始日期或任务的截止日期。
DatePickerProps
类型title
(必选):string
设置日期选择器的标题,通常用于描述选择的目的,例如“选择日期”。
children
(可选):(VirtualNode | undefined | null | (VirtualNode | undefined | null)[])[] | VirtualNode
用于渲染自定义的子视图内容。如果没有自定义内容,则无需传递此属性。
value
(必选):number
表示当前选定日期的时间戳(毫秒数)。该值会传递给 onChanged
事件处理器。
onChanged
(必选):(value: number) => void
当日期值发生变化时调用的回调函数,参数是新的时间戳。
startDate
(可选):number
设置可选日期范围的起始日期时间戳。用户只能选择该日期之后的日期。
endDate
(可选):number
设置可选日期范围的结束日期时间戳。用户只能选择该日期之前的日期。
displayedComponents
(可选):DatePickerComponents[]
一个可选的数组,指定用户能够查看和编辑的日期组件。默认值是 ['hourAndMinute', 'date']
,表示同时显示日期和时间(小时和分钟)。如果需要显示秒数(仅在 watchOS 可用),可以选择 ['hourMinuteAndSecond']
。
DatePickerComponents
类型该类型定义了日期选择器中可能显示的组件:
date
:显示日、月和年,基于当前区域设置。hourAndMinute
:显示小时和分钟,基于当前区域设置。hourMinuteAndSecond
:仅在 watchOS 上可用,显示小时、分钟和秒数,基于当前区域设置。DatePickerStyle
类型定义了 DatePicker
组件的样式类型。支持以下选项:
automatic
:默认样式,自动选择合适的显示方式。compact
:紧凑样式,以文本格式显示各个日期组件。graphical
:图形样式,显示一个可互动的日历或时钟。wheel
:滚轮样式,每个日期组件显示为一个可以滚动的列。field
:仅在 macOS 上可用,显示为可编辑的文本字段。stepperField
:仅在 macOS 上可用,显示为可编辑的文本字段,旁边带有步进器,可增加或减少选中的日期组件。以下是 DatePicker
组件的示例使用代码:
DatePicker
组件可以通过 displayedComponents
属性控制显示的内容。默认情况下,它会显示日期和时间(小时和分钟),但您可以根据需求定制其显示组件。例如,在 watchOS
设备上,您可以选择显示小时、分钟和秒数。
选择器的外观和交互方式可以通过 datePickerStyle
属性进一步定制。不同的样式提供不同的用户体验,您可以根据平台和用户需求选择最合适的样式。
startDate
和 endDate
用于限定用户可选择的日期范围,确保用户只能选择有效的日期。displayedComponents
属性的设置需要根据您的需求进行调整。如果不需要时间选择,您可以仅显示日期组件。DatePicker
支持在不同平台上提供不同的体验(例如,stepperField
仅在 macOS 上可用),请确保根据平台调整样式选项。