跳到內容

DesktopDatePickerAPI

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

示範

匯入

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

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

Props

名稱類型預設值描述
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 轉接器提供的星期幾的日期。

傳回值: 要顯示的名稱。

defaultValueobject-

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

disabledboolfalse

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

disableFutureboolfalse

若為 true,則針對日期元件停用目前日期之後的值,針對時間元件停用時間,針對日期時間元件則停用兩者。

disableHighlightTodayboolfalse

若為 true,則今天的日期將以不使用圓圈醒目提示的方式呈現。

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

最大可選日期。

minDateobject1900-01-01

最小可選日期。

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 參數會包含非空值。這可用於呈現適當的表單錯誤。

簽名: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'
| 'month'
| '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,則月份將被停用。

    shouldDisableYearfunc-

    停用特定年份。

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

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

    showDaysOutsideCurrentMonthboolfalse

    若為 true,則會呈現目前月份以外的日期
    - 若已定義 fixedWeekNumber,則會呈現日期以符合要求的週數。
    - 若未定義 fixedWeekNumber,則會呈現日期以填滿當月的第一週和最後一週。
    - 若範圍選擇器上的 calendars 等於多個 1,則會忽略此設定。

    slotPropsobject{}

    用於每個元件插槽的 props。

    slotsobject{}

    可覆寫的元件插槽。

    請參閱下方的 Slots API 以瞭解更多詳細資訊。

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

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

    請參閱 `sx` 頁面 以瞭解更多詳細資訊。

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

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

    請參閱 時區文件 以瞭解更多詳細資訊。

    valueobject-

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

    view'day'
    | 'month'
    | 'year'
    -

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

    viewRenderers{ day?: func, month?: func, year?: func }-

    為每個區段定義自訂視圖呈現器。若為 null,則區段將僅具有欄位編輯功能。若為 undefined,則將使用內部定義的視圖。

    viewsArray<'day'
    | 'month'
    | 'year'>
    -

    可用的視圖。

    yearsOrder'asc'
    | 'desc'
    'asc'

    預設情況下,年份會依升序(時間順序)顯示。若為 desc,則年份會依降序顯示。

    yearsPerRow3
    | 4
    4

    每列呈現的年份數。

    ref 會轉發到根元素。

    插槽

    插槽名稱類別名稱預設元件描述
    actionBarPickersActionBar動作列的自訂元件,它位於選擇器視圖下方。
    calendarHeaderPickersCalendarHeader日曆標題的自訂元件。請查看 PickersCalendarHeader 元件。
    clearButtonIconButton清除值的按鈕。
    clearIconClearIcon要在清除按鈕內顯示的圖示。
    dayPickersDay日期的自訂元件。請查看 PickersDay 元件。
    desktopPaperPickersPopperPaper在桌面選擇器的 Popper 內呈現的 paper 自訂元件。
    desktopTransitionreduceAnimationstrue 時,從 '@mui/material' 成長或淡出。桌面 popper Transition 的自訂元件。
    desktopTrapFocus來自 '@mui/material' 的 TrapFocus。用於在桌面上將焦點鎖定在視圖內的自訂元件。
    field用於透過鍵盤輸入日期的元件。
    inputAdornmentInputAdornment顯示在開始或結束輸入裝飾上的元件,用於在桌面上開啟選擇器。
    layout用於包裝版面配置的自訂元件。它包裝了工具列、視圖、動作列和快捷鍵。
    leftArrowIconArrowLeft顯示在左視圖切換按鈕中的圖示。
    monthButtonMonthCalendarButton顯示用於在 month 視圖中呈現單一月份的按鈕。
    nextIconButtonIconButton允許切換到右視圖的按鈕。
    openPickerButtonIconButton用於在桌面上開啟選擇器的按鈕。
    openPickerIcon顯示在桌面上開啟選擇器按鈕中的圖示。
    popper來自 '@mui/material' 的 Popper。用於在桌面上呈現視圖的 popper 內部的自訂元件。
    previousIconButtonIconButton允許切換到左視圖的按鈕。
    rightArrowIconArrowRight顯示在右視圖切換按鈕中的圖示。
    shortcutsPickersShortcuts快捷鍵的自訂元件。
    switchViewButtonIconButton顯示用於在不同日曆視圖之間切換的按鈕。
    switchViewIconArrowDropDown顯示在 SwitchViewButton 中的圖示。當開啟的視圖為 year 時旋轉 180°。
    textField來自 '@mui/material' 的 TextField 或 PickersTextField(若 enableAccessibleFieldDOMStructuretrue)。具有輸入的表單控制項,用於在預設欄位內呈現值。
    toolbarDatePickerToolbar在視圖上方呈現的工具列的自訂元件。
    yearButtonYearCalendarButton顯示用於在 year 視圖中呈現單一年份的按鈕。

    原始碼

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