フォーム
フォームコントロールのスタイル、レイアウトオプション、およびさまざまなフォームを作成するためのカスタムコンポーネントの例と使用方法に関するガイドラインです。
概要
<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"
を追加することで、これらのコントロールを手動で変更する必要があります。