React Button (ボタン) の概要

    React Button コンポーネントを使用すると、React アプリでアクションをトリガーするクリック可能な要素を有効にできます。ボタンのバリアントの設定方法、ラップされた要素のスタイルの構成方法、およびサイズの定義方法を完全に制御できます。Button コンポーネントは、React Button クリックされたコールバック、React ボタンの切り替え、React ボタンの無効化などを通じて柔軟性を提供します。

    React Button の例

    使用方法

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

    npm install igniteui-react
    

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

    import { IgrButtonModule, IgrButton } from 'igniteui-react';
    import 'igniteui-webcomponents/themes/light/bootstrap.css';
    IgrButtonModule.register();
    
    <IgrButton />
    

    Prefix / Suffix

    IgrButton コンポーネントの prefix スロットと suffix スロットを使用すると、ボタンのメイン コンテンツの前後に異なるコンテンツを追加できます。

    <IgrButton type="button" variant="contained">
        <span slot="prefix">+</span>Click me<span slot="suffix">-</span>
    </IgrButton>
    

    タイプ

    href 属性が設定されている場合、ボタン コンポーネントはその内部構造を <button> から <a> タイプの要素に変更します。その場合、ボタンは通常のリンクと考えることができます。href 属性を設定すると、reltarget および download 属性も設定できます。 ボタン コンポーネントが実際の <button> 要素を内部で使用する場合、プロパティを次のいずれかの値に設定することで、その displayType を指定できます。

    • Submit - フォーム データを送信する場合
    • reset - フォーム データを初期値にリセットする場合
    • button - ウェブページのどこかにカスタム機能を備えたボタンを追加する場合

    Button のバリアント

    Contained ボタン

    variant を使用して、コンポーネント テンプレートにシンプルな contained ボタンを追加します。バリアントを設定しない場合、デフォルトでは contained に設定されることに注意してください。

    <IgrButton variant="contained"><span>Contained</span></IgrButton>
    

    Outlined ボタン

    outlined ボタンを作成するために必要なのは、variant プロパティの値を変更することだけです。

    <IgrButton variant="outlined"><span>Outlined</span></IgrButton>
    

    Flat ボタン

    同様に、flat バリアントに切り替えることができます。

    <IgrButton variant="flat"><span>Flat</span></IgrButton>
    

    Floating Action ボタン

    variant プロパティを fab に設定することで、フローティング アクション ボタンを作成できます。

    <IgrButton variant="fab"><span>Fab</span></IgrButton>
    

    ボタンのサイズ設定

    ユーザーは、CSS 変数 --ig-size を使用して button コンポーネントのサイズを変更できます。次の例では、すべてのサイズ値を表示するためのラジオ ボタンをいくつか追加します。このようにして、選択されるたびにボタンの size プロパティを変更します。

    import { IgrButton, IgrRadio, IgrRadioGroup, IgrButtonModule, IgrRadioModule, IgrRadioGroupModule } from 'igniteui-react';
    
    <IgrRadioGroup alignment="horizontal" style={{display: 'flex', margin: '0 auto', width: '15%'}}>
        <IgrRadio name="size" value="small" labelPosition="after" checked={true} change={this.onRadioChange}>
            <span>Small</span>
        </IgrRadio>
        <IgrRadio name="size" value="medium" labelPosition="after" change={this.onRadioChange}>
            <span>Medium</span>
        </IgrRadio>
        <IgrRadio name="size" value="large" labelPosition="after" change={this.onRadioChange}>
            <span>Large</span>
        </IgrRadio>
    </IgrRadioGroup>
    
    <div>
        <IgrButton ref={this.flatButtonRef}  className="flat-btn" variant="flat"><span>Flat</span></IgrButton>
        <IgrButton ref={this.containedButtonRef}  className="contained-btn" variant="contained"><span>Contained</span></IgrButton>
        <IgrButton ref={this.outlinedButtonRef}  className="outlined-btn" variant="outlined"><span>Outlined</span></IgrButton>
        <IgrButton ref={this.fabButtonRef}  className="fab-btn" variant="fab"><span>Like</span></IgrButton>
    </div>
    
    
    public onRadioChange(e: any) {
        this.flatButton.size = e.value;
        this.containedButton.size = e.value;
        this.outlinedButton.size = e.value;
        this.fabButton.size = e.value;
    }
    

    上記のコードを実装した結果は、次のようになります:

    ダウンロード

    download プロパティを設定すると、リンクされた URL に移動する代わりに、保存するように求められます。

    <IgrButton
        href=""
        variant="contained"
        download="url"
        target="_blank" >
        <span>Download</span>
    </IgrButton>
    

    スタイル設定

    ボタン コンポーネントは、ラッピング要素 (<button> または <a>) のスタイルを設定できる base CSS パーツを公開します。

    igc-button::part(base) {
        background-color: #e99221;
        color: #011627;
        padding: 18px;
    }
    

    API リファレンス

    その他のリソース