DatePickerAPI
React DatePicker 组件的 API 参考文档。了解此导出模块的 props、CSS 和其他 API。
演示
导入
import { DatePicker } from '@mui/x-date-pickers/DatePicker';
// or
import { DatePicker } from '@mui/x-date-pickers';
// or
import { DatePicker } from '@mui/x-date-pickers-pro';
阅读这篇关于最小化 bundle size 的指南,了解它们之间的区别。
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
autoFocus | bool | - | 如果 |
closeOnSelect | bool | `true` 用于桌面,`false` 用于移动设备(基于所选的 wrapper 和 `desktopModeMediaQuery` prop)。 | 如果 |
dayOfWeekFormatter | func | (date: TDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase() | 格式化日历标题中显示的星期几。 签名: function(date: TDate) => string
返回值: 要显示的名称。 |
defaultValue | object | - | 默认值。当组件不受控制时使用。 |
desktopModeMediaQuery | string | '@media (pointer: fine)' | CSS 媒体查询,当 `Mobile` 模式将更改为 `Desktop` 时。 |
disabled | bool | false | 如果 |
disableFuture | bool | false | 如果 |
disableHighlightToday | bool | false | 如果 |
disableOpenPicker | bool | false | 如果 |
disablePast | bool | false | 如果 |
displayWeekNumber | bool | - | 如果 |
fixedWeekNumber | number | - | 日期视图将显示当前月份结束后所需的周数,以匹配此值。设置为 6 以在公历中具有固定周数 |
format | string | - | 在 input(s) 中渲染时的日期格式。默认为基于所用 `views` 的本地化格式。 |
formatDensity | 'dense' | 'spacious' | "dense" | 输入中渲染的格式密度。将 `formatDensity` 设置为 `\"spacious\"` 将在每个 `/`、`-` 和 `.` 字符前后添加一个空格。 |
inputRef | ref | - | 传递 `input` 元素的 ref。 |
label | node | - | 标签内容。 |
loading | bool | false | 如果 |
localeText | object | - | 组件文本的语言环境。允许覆盖来自 `LocalizationProvider` 和 `theme` 的文本。 |
maxDate | object | 2099-12-31 | 最大可选择日期。 |
minDate | object | 1900-01-01 | 最小可选择日期。 |
monthsPerRow | 3 | 4 | 3 | 每行渲染的月份数。 |
name | string | - | Name 属性,由 Field 中的 `input` 元素使用。 |
onAccept | func | - | 当值被接受时触发的回调。 签名: function(value: TValue, context: FieldChangeHandlerContext
|
onChange | func | - | 当值更改时触发的回调。 签名: function(value: TValue, context: FieldChangeHandlerContext
|
onClose | func | - | 当弹出窗口请求关闭时触发的回调。在受控模式下使用(请参阅 `open`)。 |
onError | func | - | 当与当前值关联的错误更改时触发的回调。当检测到验证错误时,`error` 参数包含非空值。这可用于渲染适当的表单错误。 签名: function(error: TError, value: TValue) => void
|
onMonthChange | func | - | 在月份更改时触发的回调。 签名: function(month: TDate) => void
|
onOpen | func | - | 当弹出窗口请求打开时触发的回调。在受控模式下使用(请参阅 `open`)。 |
onSelectedSectionsChange | func | - | 当选定部分更改时触发的回调。 签名: function(newValue: FieldSelectedSections) => void
|
onViewChange | func | - | 在视图更改时触发的回调。 签名: function(view: TView) => void
|
onYearChange | func | - | 在年份更改时触发的回调。 签名: function(year: TDate) => void
|
open | bool | false | 控制弹出框或对话框的打开状态。 |
openTo | 'day' | 'month' | 'year' | - | 默认可见视图。当组件视图不受控制时使用。必须是 `views` 列表中有效的选项。 |
orientation | 'landscape' | 'portrait' | - | 强制以特定方向渲染。 |
reduceAnimations | bool | `@media(prefers-reduced-motion: reduce)` || `navigator.userAgent` 匹配 Android <10 或 iOS <13 | 如果 |
referenceDate | object | 使用验证 props 的最接近的有效日期时间,除了像 `shouldDisable<...>` 这样的回调。 | 当 `value` 和 `defaultValue` 都为空时,用于生成新值的日期。 |
renderLoading | func | () => <span>...</span> | 当传递 签名: function() => React.ReactNode 返回值: 加载时要渲染的节点。 |
selectedSections | 'all' | 'day' | 'empty' | 'hours' | 'meridiem' | 'minutes' | 'month' | 'seconds' | 'weekDay' | 'year' | number | - | 当前选定的部分。此 prop 接受四种格式:1. 如果提供数字,则将选择此索引处的部分。2. 如果提供 `FieldSectionType` 类型的字符串,则将选择第一个具有该名称的部分。3. 如果提供 `\"all\"`,则将选择所有部分。4. 如果提供 `null`,则不会选择任何部分。如果未提供,则选定的部分将在内部处理。 |
shouldDisableDate | func | - | 禁用特定日期。 签名: function(day: TDate) => boolean
返回值: 如果 |
shouldDisableMonth | func | - | 禁用特定月份。 签名: function(month: TDate) => boolean
返回值: 如果 |
shouldDisableYear | func | - | 禁用特定年份。 签名: function(year: TDate) => boolean
返回值: 如果 |
showDaysOutsideCurrentMonth | bool | false | 如果 |
slotProps | object | {} | 用于每个组件 slot 的 props。 |
slots | object | {} | 可覆盖的组件 slots。 有关更多详细信息,请参阅下面的 Slots API。 |
sx | Array<func | object | bool> | func | object | - | 允许定义系统覆盖以及其他 CSS 样式的系统 prop。 有关更多详细信息,请参阅 `sx` 页面。 |
timezone | string | `value` 或 `defaultValue` prop 的时区已定义,否则为 'default'。 | 选择用于值的时区。示例:“default”、“system”、“UTC”、“America/New_York”。如果您将来自其他时区的值传递给某些 props,它们将在使用前转换为此时区。 有关更多详细信息,请参阅 时区文档。 |
value | object | - | 选定的值。当组件受控时使用。 |
view | 'day' | 'month' | 'year' | - | 可见视图。当组件视图受控时使用。必须是 `views` 列表中有效的选项。 |
viewRenderers | { day?: func, month?: func, year?: func } | - | 为每个部分定义自定义视图渲染器。如果 `null`,则该部分将仅具有字段编辑。如果 `undefined`,将使用内部定义的视图。 |
views | Array<'day' | 'month' | 'year'> | - | 可用视图。 |
yearsOrder | 'asc' | 'desc' | 'asc' | 默认情况下,年份按升序(时间顺序)显示。如果为 `desc`,则年份按降序显示。 |
yearsPerRow | 3 | 4 | 桌面端为 4,移动端为 3 | 每行渲染的年份数。 |
Slot 名称 | 类名 | 默认组件 | 描述 |
---|---|---|---|
actionBar | PickersActionBar | 操作栏的自定义组件,它位于选择器视图下方。 | |
calendarHeader | PickersCalendarHeader | 日历标题的自定义组件。查看 PickersCalendarHeader 组件。 | |
clearButton | IconButton | 用于清除值的按钮。 | |
clearIcon | ClearIcon | 在清除按钮内显示的图标。 | |
day | PickersDay | 日的自定义组件。查看 PickersDay 组件。 | |
desktopPaper | PickersPopperPaper | 在桌面选择器的 Popper 内渲染的 paper 的自定义组件。 | |
desktopTransition | 当 `reduceAnimations` 为 `true` 时,来自 '@mui/material' 的 Grow 或 Fade。 | 桌面 popper Transition 的自定义组件。 | |
desktopTrapFocus | 来自 '@mui/material' 的 TrapFocus。 | 用于捕获桌面视图内焦点的自定义组件。 | |
dialog | PickersModalDialogRoot | 用于在移动设备上渲染视图的对话框的自定义组件。 | |
field | 用于使用键盘输入日期的组件。 | ||
inputAdornment | InputAdornment | 显示在开始或结束输入装饰上的组件,用于在桌面上打开选择器。 | |
layout | 用于包装布局的自定义组件。它包装工具栏、视图、操作栏和快捷方式。 | ||
leftArrowIcon | ArrowLeft | 在左视图切换按钮中显示的图标。 | |
mobilePaper | 来自 '@mui/material' 的 Paper。 | 在移动选择器的 Dialog 内渲染的 paper 的自定义组件。 | |
mobileTransition | 来自 '@mui/material' 的 Fade。 | 移动对话框 Transition 的自定义组件。 | |
monthButton | MonthCalendarButton | 在 `month` 视图中显示以渲染单个月份的按钮。 | |
nextIconButton | IconButton | 允许切换到右侧视图的按钮。 | |
openPickerButton | IconButton | 在桌面上打开选择器的按钮。 | |
openPickerIcon | 在桌面上的打开选择器按钮中显示的图标。 | ||
popper | 来自 '@mui/material' 的 Popper。 | 用于在桌面渲染视图的 popper 的自定义组件。 | |
previousIconButton | IconButton | 允许切换到左侧视图的按钮。 | |
rightArrowIcon | ArrowRight | 在右视图切换按钮中显示的图标。 | |
shortcuts | PickersShortcuts | 快捷方式的自定义组件。 | |
switchViewButton | IconButton | 显示用于在不同日历视图之间切换的按钮。 | |
switchViewIcon | ArrowDropDown | 在 SwitchViewButton 中显示的图标。当打开的视图为 `year` 时旋转 180°。 | |
textField | 来自 '@mui/material' 的 TextField 或 PickersTextField(如果 `enableAccessibleFieldDOMStructure` 为 `true`)。 | 具有用于在默认字段内渲染值的输入的表单控件。 | |
toolbar | DatePickerToolbar | 在视图上方渲染的工具栏的自定义组件。 | |
yearButton | YearCalendarButton | 在 `year` 视图中显示以渲染单个年份的按钮。 |
源代码
如果您在此页面中找不到信息,请考虑查看组件的实现以获取更多详细信息。