メインコンテンツにスキップ

ドロップダウン

Bootstrapのドロップダウンプラグインを使用して、リンクリストなどを表示するためのコンテキストオーバーレイを切り替えます。

概要

ドロップダウンは、リンクのリストなどを表示するための、切り替え可能なコンテキストオーバーレイです。オーバーレイと同様に、ドロップダウンはサードパーティライブラリであるPopper.jsを使用して構築されており、動的な配置とビューポート検出を提供します。

アクセシビリティ

WAI ARIA標準では、role="menu"ウィジェットが定義されていますが、これは特定の種類のメニューに非常に限定的です。ARIAメニューは、role="menuitem"role="menuitemcheckbox"、またはrole="menuitemradio"のみを含める必要があります。

一方、Bootstrapのドロップダウンは、より汎用的で、さまざまな状況で適用できるように設計されています。このため、メニューの役割をマークアップに自動的に追加することはありません。基本的なキーボードナビゲーションを実装しており、「メニュー」の役割を提供する場合、react-bootstrapはフォーカス管理がメニューのARIAオーサリングガイドラインに準拠するように最善を尽くします。

単一ボタンドロップダウン

基本的なドロップダウンは、ラップするDropdownと内部の<DropdownMenu>、および<DropdownToggle>で構成されます。デフォルトでは、<DropdownToggle>Buttonコンポーネントをレンダリングし、すべて同じプロパティを受け入れます。

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

上記は非常に一般的な構成であるため、react-bootstrapは入力を減らすために<DropdownButton>コンポーネントを提供しています。titleプロパティと einige <DropdownItem>を提供すれば、準備完了です。

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

DropdownButtonは、Buttonプロパティを基礎となるToggleコンポーネントに転送します。

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

分割ボタンドロップダウン

同様に、Dropdownコンポーネントを別のButtonとButtonGroupと組み合わせることで、分割ドロップダウンを作成します。

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

DropdownButtonと同様に、SplitButtonは便利なコンポーネントとして提供されています。

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

サイズ設定

ドロップダウンは、あらゆるサイズのボタンで機能します。

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

ダークドロップダウン

既存のDropdownMenuvariant="dark"を追加することで、暗いナビゲーションバーまたはカスタムスタイルに一致するように、暗いドロップダウンを選択できます。または、DropdownButtonコンポーネントを使用する場合は、menuVariant="dark"を使用します。

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

NavDropdownmenuVariant="dark"を使用する

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

ドロップダウン方向

dropプロパティを使用して、ドロップダウンメニューを、切り替え要素の上、下、左、または右にトリガーします。

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

従来、ドロップダウンメニューの内容はリンクである必要がありましたが、v4ではなくなりました。これで、ドロップダウンで<a>だけでなく、オプションで<button>要素を使用できるようになりました。

<Dropdown.ItemText>を使用して、非インタラクティブなドロップダウンアイテムを作成することもできます。カスタムCSSまたはテキストユーティリティを使用して、さらにスタイルを設定してください。

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

デフォルトでは、ドロップダウンメニューは左揃えですが、<Dropdown><DropdownButton>、または<SplitButton>align="end"を渡すことで切り替えることができます。

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

レスポンシブ配置

レスポンシブメニュー配置を使用する場合は、ブレークポイントを含むオブジェクトを<DropdownMenu><DropdownButton>、または<SplitButton>alignプロパティに渡します。さまざまなブレークポイントにstartまたはendを指定できます。

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

アクションのセクションにラベルを付けるヘッダーを追加します。

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

区切り線で関連するメニューアイテムのグループを区切ります。

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

自動クローズ

デフォルトでは、メニューアイテムを選択するか、ドロップダウンメニューの外側をクリックすると、ドロップダウンメニューが閉じます。この動作は、autoCloseプロパティを使用して変更できます。

デフォルトでは、autoCloseはデフォルト値のtrueに設定されており、期待どおりに動作します。falseを選択すると、ドロップダウンメニューはドロップダウンボタンをクリックすることによってのみ切り替えることができます。insideは、メニューアイテムを選択することによってのみドロップダウンを非表示にし、outsideは、外側をクリックすることによってのみドロップダウンメニューを閉じます。

ボタンをクリックして、各シナリオでドロップダウンがどのように切り替えられるかに注意してください。

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

カスタマイズ

ドロップダウンメニューと切り替えコンポーネントのデフォルトの処理が気に入らない場合は、より基本的な<Dropdown>コンポーネントを使用して切り替えとメニューコンポーネントを明示的に指定することで、カスタマイズできます。

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

カスタムドロップダウンコンポーネント

すべてをカスタマイズしたい場合は、付属のToggleおよびMenuコンポーネントを省略し、独自のコンポーネントを作成できます。asプロパティにカスタムコンポーネントを提供することで、各コンポーネントの動作を制御できます。カスタムの切り替えおよびメニューコンポーネントは、refを受け入れることができなければなりません。

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

API

SplitButton