React Mask Input (マスク入力) の概要

    Ignite UI for React マスク入力は、構成可能なルールに基づいて、開発者がユーザー入力を制御し、表示される値を書式設定できるようにする入力フィールドです。入力オプションも構成できます。

    React マスク入力の例

    EXAMPLE
    TSX
    CSS

    このサンプルが気に入りましたか? 完全な Ignite UI for Reactツールキットにアクセスして、すばやく独自のアプリの作成を開始します。無料でダウンロードできます。

    使用方法

    IgrMaskInput を使用する前に、次のように登録する必要があります:

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

    npm install igniteui-react
    cmd

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

    import { IgrMaskInput, IgrMaskInputModule } from 'igniteui-react';
    import 'igniteui-webcomponents/themes/light/bootstrap.css';
    IgrMaskInputModule.register();
    tsx
    <IgrMaskInput mask="00000">
        <span slot="prefix">
            <IgrIcon ref={this.iconLocationRef} name="location" collection="material"></IgrIcon>
        </span>
        <span slot="helper-text">ZIP Code</span>
    </IgrMaskInput>
    tsx

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

    マスクのルール

    次の表は、サポートされている組み込みのマスク ルールを示しています:

    マスク文字 説明
    0 数字文字 [0-9]。エントリは必須です。
    9 数字文字 [0-9]。エントリはオプションです。
    # 数字文字 [0-9]、正符号 (+) 、または負符号 (-) が必須。エントリは必須です。
    L 通常の文字。エントリは必須です。
    ? 通常の文字。エントリはオプションです。
    A 英数字 (文字または数字) 文字。エントリは必須です。
    a 英数字 (文字または数字) 文字。エントリはオプションです。
    & 任意のキーボード文字。エントリは必須です。
    C 任意のキーボード文字。エントリはオプションです。
    \ マスク フラグをエスケープし、リテラルに変換します。

    これらのフラグは、コンポーネントの検証にも参加します。つまり、必要な位置のすべてではなく一部が満たされている場合、入力は無効になります (位置が満たされていない / 空の値は、依然として required の責任です)。これは、スタンドアロンの入力とフォームに含まれる場合の両方に適用されます。

    マスクの適用

    マスクの適用は非常に簡単です。必要なことは、入力の mask プロパティに事前に決定されたパターンを提供することだけです。

    以下の例では、内線番号付きの電話番号にマスクを適用します。

    <IgrMaskInput mask="(####) 00-00-00 Ext. 9999">
        <span slot="prefix">
            <IgrIcon ref={this.iconPhoneRef} name="phone" collection="material"></IgrIcon>
        </span>
        <span slot="helper-text">Phone number</span>
    </IgrMaskInput>
    tsx

    その後、ブラウザーに次のように表示されます:

    EXAMPLE
    TSX
    CSS

    プロンプト文字

    開発者は、マスクの塗りつぶされていない部分に使用されるプロンプト シンボルをカスタマイズできます。これを行うには、prompt プロパティに任意の文字を指定するだけです:

    <IgrMaskInput mask="(####) 00-00-00 Ext. 9999" prompt="-"></IgrMaskInput>
    tsx

    デフォルトでは、prompt 文字はアンダースコアです。

    プレースホルダー

    開発者は、ネイティブ入力プレースホルダー属性の目的を果たす placeholder プロパティを利用することもできます。プレースホルダーに値が指定されていない場合は、マスクの値がそのまま使用されます。

    <IgrMaskInput mask="00/00/0000" placeholder="dd/MM/yyyy"></IgrMaskInput>
    tsx

    値モード

    IgcMaskInput は、特定のマスクが適用されたときにフォームにバインドする入力値 (書式設定付きまたは生) を構成するために raw および withFormatting オプションを選択できる valueMode プロパティを公開します。デフォルトでは、valueModeraw に設定されています。以下の例をご覧ください:

    EXAMPLE
    TSX
    CSS

    Ignite UI for React | CTA Banner

    スタイル設定

    IgrMaskInput コンポーネントは、その内部要素のほとんどすべての CSS パーツを公開します。次の表に、公開されているすべての CSS パーツを示します。

    名前 説明
    container すべての主要な入力要素を保持するメイン ラッパー。
    input ネイティブ入力要素。
    label ネイティブ ラベル要素。
    prefix プレフィックス ラッパー。
    suffix サフィックス ラッパー。
    helper-text ヘルパー テキスト ラッパー。
    igc-mask-input::part(input) {
      background-color: var(--ig-primary-100);
      border-color: var(--ig-secondary-500);
      box-shadow: none;
    }
    
    igc-mask-input::part(input)::placeholder {
      color: var(--ig-primary-100-contrast);
    }
    css

    EXAMPLE

    仮定と制限

    • マスクされた入力は、常にテキスト型の入力であるため、type 属性を公開しません。
    • 元に戻す / やり直しの動作は現在サポートされていません。

    API リファレンス

    その他のリソース