跳到內容

DesktopDateTimeRangePickerAPI

React DesktopDateTimeRangePicker 元件的 API 參考文件。了解此匯出模組的 props、CSS 和其他 API。

示範

匯入

import { DesktopDateTimeRangePicker } from '@mui/x-date-pickers-pro/DesktopDateTimeRangePicker';
// or
import { DesktopDateTimeRangePicker } from '@mui/x-date-pickers-pro';

了解差異,請閱讀此關於最小化 bundle size 的指南

Props

名稱類型預設值描述
ampmboolutils.is12HourCycleInCurrentLocale()

小時選擇時鐘的 12 小時/24 小時檢視。

autoFocusbool-

如果為 true,則在首次掛載期間主要元素會獲得焦點。此主要元素為:- 可見檢視所選擇的元素(若有的話)(即:day 檢視中選定的日期)。- 如果有渲染欄位,則為 input 元素。

calendars1
| 2
| 3
1

要在桌面版上渲染的日曆數量。

closeOnSelectbool`true` 用於桌面版,`false` 用於行動版(基於選擇的 wrapper 和 `desktopModeMediaQuery` prop)。

如果為 true,則在提交完整日期後,彈出視窗或模組將會關閉。

currentMonthCalendarPosition1
| 2
| 3
1

目前月份渲染的位置。

dayOfWeekFormatterfunc(date: TDate) => adapter.format(date, 'weekdayShort').charAt(0).toUpperCase()

格式化日曆標題中顯示的星期幾。

簽名:function(date: TDate) => string
  • date 星期幾的日期,由 adapter 提供。

傳回值: 要顯示的名稱。

defaultRangePosition'end'
| 'start'
'start'

編輯日期範圍時的初始位置。當元件不受控制時使用。

defaultValueArray<object>-

預設值。當元件不受控制時使用。

disableAutoMonthSwitchingboolfalse

如果為 true,在選擇 start 日期後,日曆將不會自動切換到 end 日期的月份。

disabledboolfalse

如果為 true,則停用選擇器和文字欄位。

disableDragEditingboolfalse

如果為 true,則停用拖曳編輯日期。

disableFutureboolfalse

如果為 true,則停用日期元件的目前日期之後的值,時間元件的時間,以及日期時間元件的兩者。

disableHighlightTodayboolfalse

如果為 true,則今天的日期將以不使用圓圈突出顯示的方式渲染。

disableIgnoringDatePartForTimeValidationboolfalse

驗證最小/最大時間時,不要忽略日期部分。

disableOpenPickerboolfalse

如果為 true,則不會渲染開啟選擇器按鈕(僅渲染欄位)。

disablePastboolfalse

如果為 true,則停用日期元件的目前日期之前的值,時間元件的時間,以及日期時間元件的兩者。

displayWeekNumberbool-

如果為 true,則星期數將顯示在日曆中。

fixedWeekNumbernumber-

日期檢視將在目前月份結束後顯示所需的週數,以符合此值。設為 6 可在公曆中固定週數

formatstring-

在輸入中渲染日期時的格式。預設為基於使用的 views 的本地化格式。

formatDensity'dense'
| 'spacious'
"dense"

在輸入中渲染格式時的密度。將 formatDensity 設定為 "spacious" 將在每個 /-. 字元前後新增一個空格。

inputRefref-

將 ref 傳遞到 input 元素。如果欄位有多個輸入,則忽略。

labelnode-

標籤內容。如果欄位有多個輸入,則忽略。

loadingboolfalse

如果為 true,則呼叫 renderLoading 而不是渲染日期日曆。可用於預載資訊並在日曆中顯示。

localeTextobject-

元件文字的語言環境。允許覆寫來自 LocalizationProvidertheme 的文字。

maxDateobject2099-12-31

最大可選日期。

maxDateTimeobject-

具有日期綁定的最大可選時間點,若要在每天設定最大時間,請使用 maxTime

maxTimeobject-

最大可選時間。除非 props.disableIgnoringDatePartForTimeValidation === true,否則物件的日期部分將被忽略。

minDateobject1900-01-01

最小可選日期。

minDateTimeobject-

具有日期綁定的最小可選時間點,若要在每天設定最小時間,請使用 minTime

minTimeobject-

最小可選時間。除非 props.disableIgnoringDatePartForTimeValidation === true,否則物件的日期部分將被忽略。

minutesStepnumber1

分鐘的步進值。

namestring-

欄位中 input 元素使用的 Name 屬性。如果欄位有多個輸入,則忽略。

onAcceptfunc-

當值被接受時觸發的回呼。

簽名:function(value: TValue, context: FieldChangeHandlerContext) => void
  • value 剛被接受的值。
  • context 包含目前值的驗證結果的 context。
onChangefunc-

當值變更時觸發的回呼。

簽名:function(value: TValue, context: FieldChangeHandlerContext) => void
  • value 新值。
  • context 包含目前值的驗證結果的 context。
onClosefunc-

當彈出視窗請求關閉時觸發的回呼。在受控模式下使用(請參閱 open)。

onErrorfunc-

當與目前值相關聯的錯誤變更時觸發的回呼。當偵測到驗證錯誤時,error 參數包含非 null 值。這可用於渲染適當的表單錯誤。

簽名:function(error: TError, value: TValue) => void
  • error 目前值無效的原因。
  • value 與錯誤相關聯的值。
onMonthChangefunc-

在月份變更時觸發的回呼。

簽名:function(month: TDate) => void
  • month 新月份。
onOpenfunc-

當彈出視窗請求開啟時觸發的回呼。在受控模式下使用(請參閱 open)。

onRangePositionChangefunc-

當範圍位置變更時觸發的回呼。

簽名:function(rangePosition: RangePosition) => void
  • rangePosition 新範圍位置。
onSelectedSectionsChangefunc-

當選定的區段變更時觸發的回呼。

簽名:function(newValue: FieldSelectedSections) => void
  • newValue 新選定的區段。
onViewChangefunc-

在檢視變更時觸發的回呼。

簽名:function(view: TView) => void
  • view 新檢視。
openboolfalse

控制彈出視窗或對話方塊的開啟狀態。

openTo'day'
| 'hours'
| 'minutes'
| 'seconds'
-

預設可見檢視。當元件檢視不受控制時使用。必須是 views 列表中的有效選項。

rangePosition'end'
| 'start'
-

目前編輯的日期範圍中的位置。當元件位置受控制時使用。

reduceAnimationsbool`@media(prefers-reduced-motion: reduce)` || `navigator.userAgent` 符合 Android <10 或 iOS <13

如果為 true,則停用繁重的動畫。

referenceDateobject使用驗證 props 的最接近有效日期時間,但回呼(例如 shouldDisable<...>)除外。

valuedefaultValue 皆為空時,用於產生新值的日期。

renderLoadingfunc() => "..."

props.loading 為 true 時,在「日期」檢視上渲染的元件。

簽名:function() => React.ReactNode

    傳回值: 載入時要渲染的節點。

    selectedSections'all'
    | 'day'
    | 'empty'
    | 'hours'
    | 'meridiem'
    | 'minutes'
    | 'month'
    | 'seconds'
    | 'weekDay'
    | 'year'
    | number
    -

    目前選定的區段。此 prop 接受四種格式:1. 如果提供數字,則會選取此索引處的區段。2. 如果提供 FieldSectionType 類型的字串,則會選取具有該名稱的第一個區段。3. 如果提供 "all",則會選取所有區段。4. 如果提供 null,則不會選取任何區段。如果未提供,則選定的區段將在內部處理。

    shouldDisableDatefunc-

    停用特定日期。
    警告:此函式可能會被多次呼叫(例如,在渲染日期日曆、檢查焦點是否可以移動到特定日期等時)。昂貴的計算可能會影響效能。

    簽名:function(day: TDate, position: string) => boolean
    • day 要測試的日期。
    • position 要測試的日期,'start' 或 'end'。

    傳回值: 如果應停用日期,則傳回 true

    shouldDisableTimefunc-

    停用特定時間。

    簽名:function(value: TDate, view: TimeView) => boolean
    • value 要檢查的值。
    • view timeValue 的時鐘類型。

    傳回值: 如果為 true,則時間將被停用。

    showDaysOutsideCurrentMonthboolfalse

    如果為 true,則會渲染目前月份以外的日期
    - 如果定義了 fixedWeekNumber,則渲染日期以符合要求的週數。
    - 如果未定義 fixedWeekNumber,則渲染日期以填滿目前月份的第一週和最後一週。
    - 如果 calendars 在範圍選擇器上等於多個 1,則忽略。

    skipDisabledboolfalse

    如果為 true,則不會渲染停用的數位時鐘項目。

    slotPropsobject{}

    用於每個元件 slot 的 props。

    slotsobject{}

    可覆寫的元件 slot。

    有關更多詳細資訊,請參閱下方的 Slots API

    sxArray<func
    | object
    | bool>
    | func
    | object
    -

    允許定義系統覆寫以及其他 CSS 樣式的系統 prop。

    有關更多詳細資訊,請參閱 `sx` 頁面

    thresholdToRenderTimeInASingleColumnnumber24

    時間選項數量低於或等於多少時,會使用單欄時間渲染器。

    timeSteps{ hours?: number, minutes?: number, seconds?: number }{ hours: 1, minutes: 5, seconds: 5 }

    兩個時間單位選項之間的時間步進值。例如,如果 timeStep.minutes = 8,則可用的分鐘選項將為 [0, 8, 16, 24, 32, 40, 48, 56]。當使用單欄時間渲染器時,只會使用 timeStep.minutes

    timezonestringvaluedefaultValue prop 的時區已定義,否則為 'default'。

    選擇要用於值的時區。範例:「default」、「system」、「UTC」、「America/New_York」。如果您將來自其他時區的值傳遞給某些 props,它們將在被使用前轉換為此時區。

    有關更多詳細資訊,請參閱 時區文件

    valueArray<object>-

    選定的值。當元件受控制時使用。

    view'day'
    | 'hours'
    | 'meridiem'
    | 'minutes'
    | 'seconds'
    -

    可見檢視。當元件檢視受控制時使用。必須是 views 列表中的有效選項。

    viewRenderers{ day?: func, hours?: func, meridiem?: func, minutes?: func, seconds?: func }-

    為每個區段定義自訂檢視渲染器。如果為 null,則區段將僅具有欄位編輯。如果為 undefined,則將使用內部定義的檢視。

    viewsArray<'day'
    | 'hours'
    | 'minutes'
    | 'seconds'>
    -

    可用的檢視。

    ref 轉發到根元素。

    Slots

    Slot 名稱類別名稱預設元件描述
    actionBarPickersActionBar動作列的自訂元件,它放置在選擇器檢視下方。
    calendarHeaderPickersCalendarHeader日曆標題的自訂元件。查看 PickersCalendarHeader 元件。
    clearButtonIconButton用於清除值的按鈕。
    clearIconClearIcon用於顯示在清除按鈕內部的圖示。
    dayDateRangePickersDay範圍選擇器中日期的自訂元件。查看 DateRangePickersDay 元件。
    desktopPaperPickersPopperPaper在桌面版選擇器的 Popper 內部渲染的 paper 自訂元件。
    desktopTransition當 `reduceAnimations` 為 `true` 時,從 '@mui/material' Grow 或 Fade。桌面版 popper Transition 的自訂元件。
    desktopTrapFocus來自 '@mui/material' 的 TrapFocus。用於捕獲桌面版檢視內焦點的自訂元件。
    digitalClockItem來自 '@mui/material' 的 MenuItem負責渲染單個數位時鐘項目的元件。
    digitalClockSectionItem來自 '@mui/material' 的 MenuItem負責渲染單個多區段數位時鐘區段項目的元件。
    field
    fieldRoot在根目錄渲染的元素。如果欄位只有一個輸入,則忽略。
    fieldSeparator在兩個輸入之間渲染的元素。如果欄位只有一個輸入,則忽略。
    layout用於包裝佈局的自訂元件。它包裝了工具列、檢視、動作列和快捷方式。
    leftArrowIconArrowLeft顯示在左側檢視切換按鈕中的圖示。
    nextIconButtonIconButton允許切換到右側檢視的按鈕。
    popper來自 '@mui/material' 的 Popper。在其中渲染桌面版檢視的 popper 自訂元件。
    previousIconButtonIconButton允許切換到左側檢視的按鈕。
    rightArrowIconArrowRight顯示在右側檢視切換按鈕中的圖示。
    shortcutsPickersShortcuts快捷方式的自訂元件。
    switchViewButtonIconButton顯示用於在不同日曆檢視之間切換的按鈕。
    switchViewIconArrowDropDown顯示在 SwitchViewButton 中的圖示。當開啟的檢視為 year 時旋轉 180°。
    tabsDateTimeRangePickerTabs啟用在日期和時間選擇器之間切換的標籤頁。
    textField來自 '@mui/material' 的 TextField 或 PickersTextField(如果 `enableAccessibleFieldDOMStructure` 為 `true`)。具有輸入的表單控制項,用於在預設欄位內渲染日期或時間。它會渲染兩次:一次用於開始元素,一次用於結束元素。
    toolbarDateTimeRangePickerToolbar在檢視上方渲染的工具列的自訂元件。

    原始碼

    如果您在本頁中找不到資訊,請考慮查看元件的實作以獲取更多詳細資訊。