DatePicker

DatePickerは、ユーザーが日付を選択するために使用されるコンポーネントです。

使い方

import { DatePicker } from "@yamada-ui/react"
<DatePicker />

バリアントを変更する

サイズを変更する

カラースキームを変更する

フォーマットを変更する

フォーマットを変更する場合は、formatにオブジェクトを設定します。

デフォルトの日付を設定する

デフォルトの日付を設定する場合は、defaultValueDateを設定します。

デフォルトの入力値を設定する

デフォルトの入力値を設定する場合は、defaultInputValueに文字列を設定します。

デフォルトの月を設定する

デフォルトの月を設定する場合は、defaultMonthDateを設定します。

最小日付を設定する

最小日付を設定する場合は、minDateDateを設定します。

最大日付を設定する

最大日付を設定する場合は、maxDateDateを設定します。

最小と最大の範囲外を許可する

デフォルトでは、最小と最大の日付の範囲外が入力された場合、自動的に最小または最大の日付に置換されます。この制御を無効にし、最小と最大の範囲外を許可する場合は、allowInputBeyondtrueに設定します。

今日の強調を無効にする

今日の強調を無効にする場合は、todayfalseに設定します。

特定の曜日を無効にする

特定の曜日を無効にする場合は、excludeDateを使用します。

複数選択を有効する

複数選択を有効にする場合は、multipletrueに設定します。

複数選択の最大数を設定する

複数選択の最大選択数を設定する場合は、maxに数値を設定します。

複数選択の区切り文字を変更する

複数選択の区切り文字を変更する場合は、separatorに文字列を設定します。デフォルトでは、,が設定されています。

期間選択を有効にする

期間選択を有効にする場合は、rangetrueに設定します。

週の開始曜日を変更する

週の開始曜日を変更する場合は、startDayOfWeek"sunday"または"monday"を設定します。

週末の曜日を変更する

週末の曜日を変更する場合は、weekendDaysに曜日(数値)の配列を設定します。

パターンを設定する

パターンを設定する場合は、patternに正規表現を設定します。

入力された値の解析をハンドルする

入力された値の解析をハンドルする場合は、parseDateを使用します。

祝日を設定する

祝日を設定する場合は、holidaysDateの配列を設定します。

当月外の日付を非表示にする

当月外の日付を非表示にする場合は、dayPropsでスタイルを設定します。

オフセットを変更する

オフセットを変更する場合は、gutterまたはoffsetに値を設定します。

アニメーションを変更する

アニメーションを変更する場合は、animationScheme"block-start""inline-end"などを設定します。デフォルトでは、"scale"が設定されています。

配置を変更する

配置を変更するには、placementendstart-centerなどを設定します。デフォルトでは、end-startが設定されています。

スクロールをブロックする

スクロールをブロックするには、blockScrollOnMounttrueに設定します。

スクロール時にドロップダウンを閉じる

スクロール時にドロップダウンを閉じる場合は、closeOnScrolltrueに設定します。

変更時にドロップダウンを開くイベントをハンドルする

変更時にドロップダウンを開くイベントをハンドルする場合は、openOnChangeに関数を設定します。

変更時にドロップダウンを閉じるイベントをハンドルする

変更時にドロップダウンを閉じるイベントをハンドルする場合は、closeOnChangeに関数を設定します。

フォーカス時にドロップダウンを開かない

フォーカス時にドロップダウンを開かない場合は、openOnFocusfalseに設定します。

クリック時にドロップダウンを開かない

クリック時にドロップダウンを開かない場合は、openOnClickfalseに設定します。

クリア時にフォーカスしない

クリア時にフォーカスしない場合は、focusOnClearfalseに設定します。

選択時にカレンダーを閉じない

選択時にドロップダウンを閉じない場合は、closeOnSelectfalseに設定します。

フォーカスが外れた場合に閉じない

フォーカスが外れた場合にドロップダウンを閉じない場合は、closeOnBlurfalseに設定します。

ESCキーが入力された時にドロップダウンを閉じない

ESCキーが入力された時にドロップダウンを閉じない場合は、closeOnEscfalseに設定します。

クリアを無効化する

クリアを無効化する場合は、clearablefalseに設定します。

入力を許可しない

入力を許可しない場合は、allowInputfalseに設定します。

形を変える

無効にする

無効にする場合は、disabledtrueに設定します。

読み取り専用にする

読み取り専用にする場合は、readOnlytrueに設定します。

無効な入力にする

無効な入力にする場合は、invalidtrueに設定します。

ボーダーの色を変更する

ボーダーの色を変更する場合は、focusBorderColorまたはerrorBorderColorに値を設定します。

アイコンをカスタマイズする

複数選択時の表示をカスタマイズする

カレンダーをカスタマイズする

カレンダーをカスタマイズして、表示を変更できます。

制御する

Props

アクセシビリティ

DatePickerは、アクセシビリティに関してWAI-ARIA - Combobox Patternに従います。

Field.Rootを使用しない場合は、DatePickeraria-labelまたはaria-labelledbyを設定します。

<DatePicker placeholder="YYYY/MM/DD" aria-label="Birthday" />
<VStack gap="sm">
  <Text as="h3" id="label">
    Birthday
  </Text>

  <DatePicker placeholder="YYYY/MM/DD" aria-labelledby="label" />
</VStack>

キーボード操作

キー説明状態
Enter入力値が有効な場合は入力値を選択に反映します。カレンダー内である場合はフォーカスされた日付の選択状態を切り替えます。-
Backspace最後の選択をクリアします。-
Escapeカレンダーを閉じます。closeOnEsc={true}
ArrowUpカレンダー内である場合はフォーカスを上の日付に1つ移動します。-
ArrowDownカレンダー内である場合はフォーカスを下の日付に1つ移動します。-
ArrowLeftカレンダー内である場合はフォーカスを左の日付に1つ移動します。最初の日付の場合は、前の月の最後の日付へ移動します。-
ArrowRightカレンダー内である場合はフォーカスを右の日付に1つ移動します。最後の日付の場合は、次の月の最初の日付へ移動します。-
Homeカレンダー内である場合はフォーカスを同じ週の最初の日付へ移動します。-
Endカレンダー内である場合はフォーカスを同じ週の最後の日付へ移動します。-
PageUpカレンダー内である場合はフォーカスを前の月の同日へ移動します。該当日がない場合は、その月内の有効な日付へ移動します。-
Shift + PageUpカレンダー内である場合はフォーカスを前の年の同日へ移動します。該当日がない場合は、その月内の有効な日付へ移動します。-
PageDownカレンダー内である場合はフォーカスを次の月の同日へ移動します。該当日がない場合は、その月内の有効な日付へ移動します。-
Shift + PageDownカレンダー内である場合はフォーカスを次の年の同日へ移動します。該当日がない場合は、その月内の有効な日付へ移動します。-
Spaceカレンダー内である場合はフォーカスされた日付の選択状態を切り替えます。-

ARIAロールと属性

コンポーネントロールと属性使い方
DatePickerFieldrole="combobox"コンボボックスであることを示します。
aria-controlsカレンダーが開いている場合は関連したDatePickerContentidを設定し、閉じている場合はundefinedを設定します。
aria-disableddisabledまたはreadOnlyが設定されている場合は"true"を設定します。
aria-describedbyDatePickerField.Root内にあり、Field.RooterrorMessageまたはhelperMessage、もしくはField.ErrorMessageまたはField.HelperMessageが設定されている場合は、そのidを設定します。
aria-expandedカレンダーが開いている場合は"true"を設定し、閉じている場合は"false"を設定します。
aria-haspopup="dialog"ダイアログが存在することを示します。
aria-invalidinvalidが設定されている場合は"true"を設定します。
aria-readonlyreadOnlyが設定されている場合は"true"を設定します。
aria-requiredrequiredが設定されている場合は"true"を設定します。
DatePickerContentrole="dialog"ダイアログであることを示します。
aria-hiddenカレンダーが開いている場合は"false"を設定し、閉じている場合は"true"を設定します。
DatePickerIconrole="button"clearableかつ値がある場合はボタンであることを示します。
aria-disabledclearableかつ値がある場合かつ、disabledまたはreadOnlyが設定されている場合は"true"を設定します。
aria-labelclearableかつ値がある場合は"値を消去する"を設定します。
Calendar.YearSelectaria-label"年を選択する"を設定します。
Calendar.MonthSelectaria-label"月を選択する"を設定します。
Calendar.Controlrole="status"ステータスであることを示します。
aria-live="polite"フォーカスの外側で更新される可能性があることを示します。
Calendar.Monthrole="grid"グリッドであることを示します。
aria-label"2026年2月"のように、表示されている年月を設定します。
aria-multiselectable複数選択または期間選択が可能な場合は"true"を設定します。
Calendar.PrevButtonaria-label"前の月に移動する"を設定します。
Calendar.NextButtonaria-label"次の月に移動する"を設定します。
CalendarDayaria-label"2026年2月5日木曜日"のように、日付を設定します。今日の場合は"今日, 2026年2月5日木曜日"を設定します。
aria-disabled日付が無効の場合は"true"を設定します。
aria-selected日付が選択されている場合は"true"を設定します。

類似のコンポーネント

Select

Selectは、ユーザーがオプションのリストから値を選択するために使用されるコンポーネントです。

ColorPicker

ColorPickerは、ユーザーが色を選択したり任意の色の値を入力するために使用されるコンポーネントです。

Autocomplete

Autocompleteは、ユーザーのテキスト入力に応じて候補を表示するために使用されるコンポーネントです。

使用しているコンポーネント・フック

使用されているコンポーネント・フック