React Date Picker (日付ピッカー) コンポーネントの概要

    Ignite UI for React Date Picker は、手動でテキストを入力して日付を入力するか、ポップアップするカレンダー ダイアログから日付値を選択するために使用される機能豊富なコンポーネントです。軽量で使いやすい Date Picker を使用すると、ユーザーは、月、年、10 年の複数の表示オプションを使用して目的の日付に移動できます。また、最小および最大の日付制約や必須フィールドなどの一般的な検証プロパティもサポートしています。

    Ignite UI for React Date Picker コンポーネントを使用すると、ユーザーは月表示のカレンダード ロップダウンまたは編集可能な入力フィールドから単一の日付を選択できます。React Date Picker は、カレンダーからのみ選択するための dialog モード、ロケール対応でカスタマイズ可能な日付の書式設定と検証の統合もサポートしています。

    Note

    IgrDatePicker コンポーネントは、Ignite UI for React のバージョン 18.7.0 以降の新しいコンポーネントです。このバージョンより前の古い IgrDatePickerXDatePicker に名前が変更され、それぞれのドキュメント ページは「非推奨のコンポーネント」の下にあります。

    React Date Picker の例

    以下は、ユーザーが手動のテキスト入力で日付を選択し、左側のカレンダー アイコンをクリックしてナビゲートできるようになったときに、Date Picker がどのように機能するかを示すサンプルです。描画する方法は以下のとおりです。

    React Date Picker を使用した作業の開始

    まず、次のコマンドを実行して Ignite UI for React をインストールする必要があります:

    npm install igniteui-react
    

    次に、以下のように、IgrDatePicker とそれに必要な CSS をインポートし、そのモジュールを登録する必要があります:

    import { IgrDatePicker } from 'igniteui-react';
    import 'igniteui-webcomponents/themes/light/bootstrap.css';
    

    Ignite UI for React の完全な概要については、作業の開始トピックを参照してください。

    React Date Picker コンポーネントの使用

    日付ピッカーの表示

    デフォルトの dropdown 状態の IgrDatePicker をインスタンス化するには、以下のコードを使用してください。

    <IgrDatePicker></IgrDatePicker>
    

    オプション

    IgrDatePickerdate にバインドできます。

    const date = new Date();
    
    <IgrDatePicker value={date}/>
    

    コンポーネントの投影

    prefix スロットと suffix スロットを使用すると、入力のメイン コンテンツの前後に異なるコンテンツを追加できます。

    <IgrDatePicker>
        <IgrIcon
            slot="suffix"
            name="arrow_upward"
            collection="material"
            class="small"
            onClick={() => datePickerRef.current.stepUp(DatePart.Month)}>
        </IgrIcon>
    </IgrDatePicker>
    

    上記のスニペットでは、​​入力の最後、デフォルトのクリア アイコンの直後に追加のアイコンが追加されます。プレフィックスとサフィックスを次々に積み重ねることができるため、これによってデフォルトのトグル アイコンが削除されることはありません。

    トグル アイコンとクリア アイコンのカスタマイズ

    カレンダーとクリア アイコンは、calendar スロットと clear スロットを使用してテンプレート化できます。

    <IgrDatePicker>
        <IgrIcon slot="calendar" name="calendar" collection="material" class="small"></IgrIcon>
        <IgrIcon slot="clear" name="delete" collection="material" class="small"></IgrIcon>
    </IgrDatePicker>
    

    カスタム アクション ボタン

    ピッカーのアクション ボタンは、actions スロットを使用してテンプレート化できます。

    <IgrDatePicker>
        <IgrButton
            slot='actions'
            onClick={() => datePickerRef.current.showWeekNumbers = true}>
            <span>Show Week Numbers</span>
        </IgrButton>
    </IgrDatePicker>
    

    キーボード ナビゲーション

    IgrDatePicker には直感的なキーボード ナビゲーションがあり、マウスに触れることなく、さまざまな DatePart を簡単に増分、減分、またはジャンプできます。

    キー 説明
    1 文字を先頭に移動
    1 文字を最後に移動
    HOME 最初に移動
    END 最後に移動
    CTRL / CMD + 日付 / 時刻セクションの先頭に移動 - 現在のセクションまたは左側のセクション
    CTRL / CMD + 日付 / 時刻セクションの最後に移動 - 現在または右側のセクション
    日付 / 時刻部分にフォーカス + 日付 / 時刻部分を減少
    日付 / 時刻部分にフォーカス + 日付 / 時刻部分を増加
    CTRL / CMD + ; 現在の日付 / 時刻をエディターの値として設定
    ESC カレンダーのポップアップを閉じて、入力フィールドにフォーカを合わせます。

    ダイアログ モード

    DatePicker は dialog モードもサポートしています。

    <IgrDatePicker mode="dialog"></IgrDatePicker>
    

    表示および入力形式

    inputFormat および displayFormat は、ピッカーのエディターが指定された形式に従うように設定できるプロパティです。inputFormat はロケール ベースであるため、何も指定されていない場合、ピッカーはデフォルトでブラウザーで使用されるものになります。

    注意すべき点は、Date Picker コンポーネントが datemonth の部分がない形式で提供された場合、それらの部分に常に先行ゼロを追加することです。例えば、d/M/yydd/MM/yy になります。これは編集中にのみ適用されます。

    displayFormat は、フォーカスされていないときにピッカーの入力を書式設定するために使用されます。displayFormat が指定されていない場合、ピッカーは inputFormatdisplayFormat として使用します。

    詳細については、IgrDateTimeInput 形式のセクションを参照してください。

    増加および減少

    IgrDatePicker は、stepUp メソッドと stepDown メソッドを公開します。これらは両方とも IgrDateTimeInput から取得され、現在設定されている日付の特定の DatePart を増加および減少するために使用できます。

    <IgrDatePicker>
        <IgrIcon
            slot="prefix"
            name="arrow_upward"
            collection="material"
            onClick={() => datePickerRef.current.stepUp(DatePart.Month)}>
        </IgrIcon>
        <IgrIcon
            slot="suffix"
            name="arrow_downward"
            collection="material"
            onClick={() => datePickerRef.current.stepDown(DatePart.Month)}>
        </IgrIcon>
    </IgrDatePicker>
    

    フォーム

    IgrDatePicker はフォーム要素で使用できます。コンポーネントの min プロパティと max プロパティはフォーム検証機能として機能します。

    フォームでは、コンポーネントの change イベントを処理し、ラベルの値を更新できます。

    カレンダー固有の設定

    IgrDatePicker は、Date Picker が公開するプロパティを通じて、カレンダーの設定の一部を変更できます。これらの一部には、ピッカーが展開されたときに複数のカレンダーを表示できる visibleMonths、週の開始日を決定する weekStart、年の各週の番号を表示する showWeekNumbers などが含まれます。

    インターナショナリゼーション

    IgrDatePicker のローカライズは、locale 入力で制御できます。

    以下は日本ロケール定義を持つ IgrDatePicker です。

    <IgrDatePicker locale="ja-JP"></IgrDatePicker>
    

    スタイル設定

    IgrDatePicker コンポーネントは IgrInput コンポーネントおよび IgrCalendar コンポーネントから派生するため、使用可能なすべての CSS パーツを公開します。詳細については、Input のスタイル設定Calendar のスタイル設定を参照してください。

    igc-date-picker::part(header) {
      background-color: var(--ig-primary-500);
      color: var(--ig-primary-500-contrast);
    }
    igc-date-picker::part(calendar-content) {
      background-color: var(--ig-surface-300);
    }
    igc-date-picker::part(date-inner current) {
      color: var(--ig-info-300);
      background-color: var(--ig-surface-300);
    }
    igc-date-picker::part(navigation-button):hover,
    igc-date-picker::part(months-navigation):hover,
    igc-date-picker::part(years-navigation):hover {
      color: var(--ig-secondary-500);
    }
    igc-date-picker::part(month-inner current),
    igc-date-picker::part(year-inner current),
    igc-date-picker::part(navigation-button),
    igc-date-picker::part(months-navigation),
    igc-date-picker::part(years-navigation) {
      color: var(--ig-info-300);
    }
    igc-date-picker::part(date-inner selected),
    igc-date-picker::part(month-inner selected),
    igc-date-picker::part(year-inner selected) {
      color: var(--ig-secondary-500-contrast);
      background-color: var(--ig-secondary-500);
    }
    

    API リファレンス

    その他のリソース