跳到主要內容

DesktopDateTimePickerAPI

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

範例展示

匯入

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

閱讀關於最小化套件大小的指南,以瞭解差異。

Props

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

小時選取時鐘的 12 小時制/24 小時制檢視。

ampmInClockbool桌上型電腦為 true,行動裝置為 false

在時鐘下方(而非工具列中)顯示 ampm 控制項。

autoFocusbool-

若為 true,則主要元素會在首次掛載時取得焦點。此主要元素為:- 可見檢視所選擇的元素(若有的話)(即:day 檢視中選取的日期)。- 若有轉譯欄位,則為 input 元素。

closeOnSelectbool桌上型電腦為 true,行動裝置為 false(根據所選的 wrapper 和 desktopModeMediaQuery prop)。

若為 true,則在提交完整日期後,快顯視窗或模式視窗將會關閉。

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

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

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

傳回值: 要顯示的名稱。

defaultValueobject-

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

disabledboolfalse

若為 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-

元件文字的 Locale。允許覆寫來自 LocalizationProvidertheme 的文字。

maxDateobject2099-12-31

最大可選日期。

maxDateTimeobject-

最大可選時間點,與日期繫結,若要設定每天的最大時間,請使用 maxTime

maxTimeobject-

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

minDateobject1900-01-01

最小可選日期。

minDateTimeobject-

最小可選時間點,與日期繫結,若要設定每天的最小時間,請使用 minTime

minTimeobject-

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

minutesStepnumber1

分鐘的步進值。

monthsPerRow3
| 4
3

每列轉譯的月份數。

namestring-

Field 中 input 元素使用的 Name 屬性。

onAcceptfunc-

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

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

當值變更時觸發的回呼。

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

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

onErrorfunc-

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

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

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

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

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

onSelectedSectionsChangefunc-

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

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

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

簽章:function(view: TView) => void
  • view 新檢視。
onYearChangefunc-

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

簽章:function(year: TDate) => void
  • year 新年份。
openboolfalse

控制快顯視窗或對話方塊的開啟狀態。

openTo'day'
| 'hours'
| 'meridiem'
| 'minutes'
| 'month'
| 'seconds'
| 'year'
-

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

orientation'landscape'
| 'portrait'
-

強制以特定方向轉譯。

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

若為 true,則停用大量動畫。

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

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

renderLoadingfunc() => <span>...</span>

傳遞 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) => boolean
    • day 要測試的日期。

    傳回值: 若為 true,則日期將被停用。

    shouldDisableMonthfunc-

    停用特定月份。

    簽章:function(month: TDate) => boolean
    • month 要測試的月份。

    傳回值: 若為 true,則月份將被停用。

    shouldDisableTimefunc-

    停用特定時間。

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

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

    shouldDisableYearfunc-

    停用特定年份。

    簽章:function(year: TDate) => boolean
    • year 要測試的年份。

    傳回值: 若為 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

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

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

    請參閱 時區文件 以取得更多詳細資訊。

    valueobject-

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

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

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

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

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

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

    可用的檢視。

    yearsOrder'asc'
    | 'desc'
    'asc'

    年份預設以遞增(依時間順序)順序顯示。若為 desc,則年份以遞減順序顯示。

    yearsPerRow3
    | 4
    4

    每列轉譯的年份數。

    ref 會轉發至根元素。

    Slots

    Slot 名稱類別名稱預設元件描述
    actionBarPickersActionBar動作列的自訂元件,它位於選擇器檢視下方。
    calendarHeaderPickersCalendarHeader日曆標題的自訂元件。查看 PickersCalendarHeader 元件。
    clearButtonIconButton清除值的按鈕。
    clearIconClearIcon在清除按鈕內顯示的圖示。
    dayPickersDay日期的自訂元件。查看 PickersDay 元件。
    desktopPaperPickersPopperPaper在桌上型電腦選擇器的 Popper 內轉譯的 paper 自訂元件。
    desktopTransitionreduceAnimationstrue 時,從 '@mui/material' Grow 或 Fade。桌上型電腦 popper 的自訂元件 Transition
    desktopTrapFocus來自 '@mui/material' 的 TrapFocus。用於在桌上型電腦上將焦點鎖定在檢視內的自訂元件。
    digitalClockItem來自 '@mui/material' 的 MenuItem負責轉譯單一數位時鐘項目的元件。
    digitalClockSectionItem來自 '@mui/material' 的 MenuItem負責轉譯單一多區段數位時鐘區段項目的元件。
    field用於使用鍵盤輸入日期的元件。
    inputAdornmentInputAdornment在開始或結束輸入裝飾中顯示的元件,用於在桌上型電腦上開啟選擇器。
    layout用於包裝版面配置的自訂元件。它包裝工具列、檢視、動作列和快捷鍵。
    leftArrowIconArrowLeft在左檢視切換按鈕中顯示的圖示。
    monthButtonMonthCalendarButton顯示以在 month 檢視中轉譯單一月份的按鈕。
    nextIconButtonIconButton允許切換到正確檢視的按鈕。
    openPickerButtonIconButton在桌上型電腦上開啟選擇器的按鈕。
    openPickerIcon在桌上型電腦上的開啟選擇器按鈕中顯示的圖示。
    popper來自 '@mui/material' 的 Popper。在其中轉譯桌上型電腦上檢視的 popper 自訂元件。
    previousIconButtonIconButton允許切換到錯誤檢視的按鈕。
    rightArrowIconArrowRight在正確檢視切換按鈕中顯示的圖示。
    shortcutsPickersShortcuts快捷鍵的自訂元件。
    switchViewButtonIconButton顯示以在不同日曆檢視之間切換的按鈕。
    switchViewIconArrowDropDown在 SwitchViewButton 中顯示的圖示。當開啟的檢視為 year 時旋轉 180°。
    tabsDateTimePickerTabs啟用在日期和時間選擇器之間切換的 Tabs。
    textField來自 '@mui/material' 的 TextField,若 enableAccessibleFieldDOMStructuretrue,則為 PickersTextField。具有輸入的表單控制項,用於在預設欄位內轉譯值。
    toolbarDateTimePickerToolbar在檢視上方轉譯的工具列自訂元件。
    yearButtonYearCalendarButton顯示以在 year 檢視中轉譯單一年份的按鈕。

    原始碼

    若您在此頁面中找不到資訊,請考慮查看元件的實作以取得更多詳細資訊。