跳到內容
+

快捷方式

日期選擇器讓您新增自訂快捷方式。

新增快捷方式

預設情況下,選擇器使用 PickersShortcuts 組件來顯示快捷方式。此組件接受 shortcuts 屬性作為 PickersShortcutsItem 的陣列。這些項目由兩個必要的屬性組成

  • label:快捷方式晶片上顯示的字串。此屬性必須是唯一的。
  • getValue:傳回與快捷方式關聯的值的函數。

您可以使用 slotProps.shortcuts 來自訂此屬性。例如,若要新增聖誕節的快捷方式,您可以執行以下操作

<DatePicker
  slotProps={{
    shortcuts: {
      items: [
        {
          label: 'Christmas',
          getValue: () => {
            return dayjs(new Date(2023, 11, 25));
          },
        },
      ],
    },
  }}
/>
選擇日期

––

  • 元旦
  • MLK Jr. 生日
  • 獨立紀念日
  • 勞動節
  • 感恩節
  • 聖誕節
按下 Enter 開始編輯

停用日期

預設情況下,如果傳回的值未通過驗證,則會停用快捷方式。以下範例中,minDate 設定為年中。

選擇日期

––

  • 元旦
  • MLK Jr. 生日
  • 獨立紀念日
  • 勞動節
  • 退伍軍人節
  • 感恩節
  • 世界愛滋病日
  • 聖誕節
按下 Enter 開始編輯

範圍快捷方式

範圍選擇器上的快捷方式需要 getValue 屬性傳回包含兩個值的陣列。

選擇日期範圍
  
  • 本週
  • 上週
  • 過去 7 天
  • 本月
  • 下個月
  • 重設
按下 Enter 開始編輯

進階快捷方式

使用驗證來取得值

getValue 方法會接收 isValid 輔助函數。您可以使用它來測試值是否基於驗證屬性有效。

在以下示範中,它用於取得下一個可用的週末和週。

選擇日期範圍
  
  • 下一個可用的週末
  • 下一個可用的週
  • 重設
按下 Enter 開始編輯

了解已選擇哪個快捷方式

onChange 回呼接收快捷方式作為其第二個引數的屬性。您可以使用它來了解已選擇哪個快捷方式

選擇日期

––

  • 元旦
  • MLK Jr. 生日
  • 獨立紀念日
  • 勞動節
  • 感恩節
  • 聖誕節

上次 onChange 呼叫時選取的快捷方式

按下 Enter 開始編輯

選擇快捷方式時的行為

您可以使用 changeImportance 屬性來變更選擇快捷方式時的行為

  • "accept"預設值):觸發 onChange,觸發 onAccept 並關閉選擇器。
  • "set":觸發 onChange 但不觸發 onAccept 且不關閉選擇器。

自訂

與其他佈局的子組件一樣,快捷方式可以自訂。以下是以水平快捷方式為例。

  • 本週
  • 上週
  • 過去 7 天
  • 本月
  • 下個月
  • 重設

2025 年 3 月
2025 年 4 月

API

請參閱以下文件,以完整參考此處提及的組件的所有屬性和類別。