本文へスキップ

フォーム

フォームコントロールのスタイル、レイアウトオプション、およびさまざまなフォームを作成するためのカスタムコンポーネントの例と使用方法に関するガイドラインです。

概要

<FormControl>コンポーネントは、Bootstrapスタイルのフォームコントロールをレンダリングします。<FormGroup>コンポーネントは、適切な間隔でフォームコントロールをラップし、ラベル、ヘルプテキスト、および検証状態をサポートします。アクセシビリティを確保するには、<FormGroup>controlIdを設定し、ラベルには<FormLabel>を使用します。

結果
読み込み中…
ライブエディタ

<FormControl>コンポーネントは、<input>またはその他の指定されたコンポーネントを直接レンダリングします。制御されていない<FormControl>の値にアクセスする必要がある場合は、制御されていない入力と同様にrefをアタッチし、ReactDOM.findDOMNode(ref)を呼び出してDOMノードを取得します。その後、そのノードを他の制御されていない入力と同様に操作できます。

アプリケーションに多数のフォームグループが含まれている場合は、ラベル、コントロール、およびその他の必要なコンポーネントをレンダリングする完全なフィールドグループをカプセル化する上位レベルのコンポーネントを構築することをお勧めします。これらのフィールドグループの構成は、個々のアプリケーションに固有でありすぎて、優れたワンサイズフィットオールソリューションを許容しないため、これをすぐに提供していません。

無効化されたフォーム

入力にdisabledブール属性を追加して、ユーザー操作を防止し、表示を薄くします。

結果
読み込み中…
ライブエディタ

<fieldset>disabled属性を追加して、内部のすべての制御を無効にします。

結果
読み込み中…
ライブエディタ

ブラウザは、<fieldset disabled>内のすべてのネイティブフォームコントロール(<input><select>、および<button>要素)を無効として扱い、キーボードとマウスの両方による操作を妨げます。

ただし、フォームに<a ... class="btn btn-*">などのカスタムボタンのような要素も含まれている場合、これらにはpointer-events: noneのスタイルのみが適用され、キーボードを使用してフォーカスと操作が可能です。この場合、フォーカスを受け取らないようにtabindex="-1"を追加し、補助技術に状態を知らせるためにaria-disabled="disabled"を追加することで、これらのコントロールを手動で変更する必要があります。

API

Form

FormLabel