Close
Angular React Web Components Blazor
Open Source

React Select (選択)

選択コンポーネントは、ドロップダウンに配置された項目のリストからの単一選択できます。このフォーム コントロールは、1 つまたは複数の文字の一致に基づく選択を含む、項目リストの迅速なナビゲーションを提供します。

React 選択の例

使用方法

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

npm install igniteui-react

次に、以下のように、Select および IgrSelectItem と必要な CSS をインポートする必要があります:

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

ヘッダーとグループの選択コンポーネントは、使用しない限り必須ではないことに注意してください。

コンポーネントの使用を開始するには、選択する IgrSelectItem のリストとともに IgrSelect を追加します。

<IgrSelect>
  <IgrSelectItem value="Orange"><span>Orange</span></IgrSelectItem>
  <IgrSelectItem value="Apple"><span>Apple</span></IgrSelectItem>
  <IgrSelectItem value="Banana"><span>Banana</span></IgrSelectItem>
  <IgrSelectItem value="Mango"><span>Mango</span></IgrSelectItem>
</IgrSelect>

Select (選択)

IgrSelect コンポーネントは Form コンポーネント内で使用できるため、登録する Name プロパティを公開します。また、Label および Placeholder プロパティもあります。Outlined プロパティは、Material テーマに関してのみ、スタイリング目的で使用されます。デフォルトのスロットを除いて、コンポーネントは、headerfooterhelper-textprefixsuffix、および toggle-icon を含む他のいくつかのスロットを提供します。コンポーネントのサイズは、--ig-size CSS 変数を使用して変更できます。

Item (項目)

IgrSelectItem コンポーネントを使用すると、ユーザーは IgrSelect コントロールで使用されるオプションのリストを宣言的に指定できます。各項目は、選択時に保持されるデータを表す Value プロパティを提供します。IgrSelectItem には、項目のテキスト コンテンツを指定できるデフォルトのスロットがあります。このテキスト コンテンツは、Value プロパティが IgrSelectItem に存在しない場合に値として使用されます。prefix スロットと suffix スロットを使用して、IgrSelectItem コンテンツの前後に描画されるカスタム コンテンツを提供することもできます。Selected プロパティを設定することにより、選択した項目を事前定義できます。Disabled プロパティを使用して、一部またはすべての項目を無効にすることもできます。

Header (ヘッダー)

IgrSelectHeader を使用して、項目のグループのヘッダーを提供できます。

<IgrSelect>
  <IgrSelectHeader>
    <span>Tasks</span>
  </IgrSelectHeader>
</IgrSelect>

Group (グループ)

複数の IgrSelectItemIgrSelectGroup コンポーネントの開く括弧と閉じる括弧の間に配置して、ユーザーがそれらを視覚的にグループ化できるようにすることができます。IgrSelectGroup は、その label スロットを介してラベルを付け、その Disabled プロパティを介して無効にすることができます。

選択グループが無効になっている場合、そのグループの個別の項目を有効にすることはできないことに注意してください。

<IgrSelect>
  <IgrSelectGroup>
    <span slot="label">Europe</span>
    <IgrSelectItem>
      <span slot="prefix">
        <IgrIcon name="place" collection="material"></IgrIcon>
      </span>
      <span> Germany </span>
      <span slot="suffix">DE</span>
    </IgrSelectItem>
    <IgrSelectItem>
      <span slot="prefix">
        <IgrIcon name="place" collection="material"></IgrIcon>
      </span>
      <span> France </span>
      <span slot="suffix">FR</span>
    </IgrSelectItem>
    <IgrSelectItem>
      <span slot="prefix">
        <IgrIcon name="place" collection="material"></IgrIcon>
      </span>
      <span> Spain </span>
      <span slot="suffix">ES</span>
    </IgrSelectItem>
  </IgrSelectGroup>
</IgrSelect>

検証

さらに、IgrSelect は、RequiredDisabledAutofocus など、ほとんどの IgrInput プロパティをサポートします。コンポーネントは、その検証にバインドされたメソッドも公開します。

  • reportValidity - 有効性をチェックし、無効な場合はコンポーネントにフォーカスします。

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

選択がフォーカスされ、オプションのリストが表示されていない場合:

  • ALT + の組み合わせを使用するか、SPACE または ENTER キーをクリックして、Select を開きます。
  • ALT + または の組み合わせ、または ENTERSPACEESCIgrTab キーのいずれかを使用して、Select を閉じます。
  • キーを使用すると、リスト内の前の項目が選択されます。
  • キーを使用すると、リスト内の次の項目が選択されます。
  • HOME キーまたは END キーを使用すると、リストの最初または最後の項目が選択されます。
  • 文字を入力すると、項目のリストが照会され、現在のユーザー入力に最も近いものが選択されます。

選択がフォーカスされ、オプションのリストが表示されている場合:

  • ENTER キーまたは SPACE キーを使用すると、項目が選択され、リストが閉じます。
  • キーを使用すると、リスト内の前の項目がアクティブになります。
  • キーを使用すると、リスト内の次の項目がアクティブになります。
  • HOME キーまたは END キーを使用すると、リストの最初または最後の項目がアクティブになります。

Select コンポーネントは、項目の単一選択のみをサポートします。

スタイル設定

以下に示す公開された CSS パーツを使用して、Ignite UI for React IgrSelect コンポーネントとその項目の外観を変更できます。

Select コンポーネント

パーツ名説明
inputカプセル化された igc-input。
labelカプセル化されたテキスト ラベル。
listオプションのリストを保持するラッパー。
prefix入力の前にコンテンツを描画するプレフィックス ラッパー。
suffix入力後にコンテンツを描画するサフィックス ラッパー。
toggle-iconサフィックス ラッパー内のコンテンツを描画するトグル アイコン ラッパー。
helper-text入力の下にコンテンツを描画するヘルパー テキスト ラッパー。

Select Item コンポーネント

パーツ名説明
content項目のテキスト コンテンツを保持するメイン ラッパー。
prefixメイン ラッパーの前にコンテンツを描画するプレフィックス ラッパー。
suffixメイン ラッパーの後にコンテンツを描画するサフィックス ラッパー。

Select Group コンポーネント

パーツ名説明
label選択したグループ項目の上にコンテンツを描画するラベル ラッパー。
igc-select::part(base) {
  background: var(--ig-primary-50);
}

igc-select-item[active] {
  background: var(--ig-secondary-300);
}

igc-select::part(input) {
  background-color: var(--ig-primary-50);
}

igc-select::part(prefix),
igc-select::part(suffix) {
  color: var(--ig-secondary-500-contrast);
  background: var(--ig-secondary-500);
}

API リファレンス

IgrSelect
IgrSelectItem
IgrSelectHeader
IgrSelectGroup

その他のリソース