DatePicker
日付・日時選択コンポーネント。入力欄への直接入力とカレンダー選択の両方に対応。
インポート
依存パッケージ
このコンポーネントは date-fns-tz を使用します。利用する場合はインストールしてください。
基本的な使い方
日付のみを選択するシンプルなパターンです。
Loading...
カレンダーのみ(即時選択)
closeOnSelect を指定すると、日付をクリックした瞬間に確定してポップオーバーが閉じます。
クリア/決定ボタンや入力欄が非表示になり、シンプルなカレンダーのみの表示になります。
Loading...
注意:
showTimeがtrueの場合、時刻入力が必要なためcloseOnSelectは無視されます。
日時選択
showTime を指定すると、時刻も選択できます。
Loading...
日付と日時の比較
Loading...
タイムゾーン対応(JST → UTC変換)
timezone を指定すると、入力はそのタイムゾーンとして解釈され、UTCに変換されて onChange に渡されます。
サーバーにUTCで保存し、表示時はJSTに変換するケースで便利です。
Loading...
サイズ
3つのサイズが用意されています。
Loading...
曜日表示
showDayOfWeek を指定すると、曜日も表示されます。
Loading...
カスタムアイコン
iconName でカレンダーアイコンを変更できます。デフォルトは Calendar です。
Loading...
プレースホルダー
Loading...
無効状態
Loading...
実際の使用例
フォーム内での使用
Loading...
イベント登録フォーム
Loading...
Props
| Prop | Type | Default | Description |
|---|---|---|---|
value | Date | - | 選択された日付 |
onChange* | (date: Date | undefined) => void | - | 日付が変更された時のコールバック |
showTime | boolean | false | 時刻選択を有効にする |
timezone | string | - | タイムゾーン(IANA形式)。showTimeがtrueの場合のみ有効。入力はこのタイムゾーンとして解釈されUTCに変換される |
placeholder | string | 'yyyy/MM/dd' / 'yyyy/MM/dd HH:mm' | プレースホルダーテキスト |
iconName | IconName | 'Calendar' | トリガーに表示するアイコン |
size | 'sm' | 'default' | 'lg' | 'default' | トリガーボタンのサイズ |
disabled | boolean | false | 無効状態 |
closeOnSelect | boolean | false | 日付クリックで即座に確定する。trueの場合、カレンダーのみ表示になり、クリックで即座にonChangeが呼ばれてポップオーバーが閉じる。showTimeがtrueの場合は無視される |
showDayOfWeek | boolean | false | 曜日を表示する(例: 2026/01/21(火)) |
defaultTime | string | '09:00' | デフォルトの時刻(HH:mm形式)。showTimeがtrueの場合に使用 |
className | string | - | 追加のクラス名 |
注意事項
- 入力欄に直接日付を入力できます(
yyyy/MM/ddまたはyyyy-MM-dd形式) - フォーカスが外れた時に入力値が確定されます
timezoneを指定した場合、valueはUTC、表示は指定タイムゾーン(例: JST)として扱われますshowTimeなしの場合、時刻は00:00:00として扱われます