TabMenu

TabMenuは、メニュー項目をタブヘッダーとして表示するナビゲーションコンポーネントです。


import { TabMenu } from 'primereact/tabmenu';
         

Stepsには、modelとしてメニュー項目のコレクションが必要です。


<TabMenu model={items} />
         

制御モードでは、アクティブな項目を管理するために、activeIndexプロパティへのバインディングとonTabChangeイベントが必要です。


<Button onClick={() => setActiveIndex(0)} className="p-button-outlined mb-5" label="Activate 1st" />
<TabMenu model={items} activeIndex={activeIndex} onTabChange={(e) => setActiveIndex(e.index)} />
         

TabMenuは、項目インスタンスを受け取り、要素を返す項目のtemplateプロパティを使用して、項目のカスタマイズを提供します。


<TabMenu model={items} activeIndex={activeIndex} onTabChange={(e) => setActiveIndex(e.index)} />
         

commandプロパティは、項目がクリックまたはキーイベントによってアクティブ化されたときに実行するコールバックを定義します。


<Toast ref={toast} />
<TabMenu model={items} />
         

ナビゲーション付きの項目は、ルーターリンクコンポーネント、外部リンク、またはプログラムによるナビゲーションを使用できるように、commandプロパティで定義されます。


<TabMenu model={items} />
         

スクリーンリーダー

TabMenuコンポーネントは、menubarロールを使用し、メニューを説明するための値は、aria-labelledbyまたはaria-labelプロパティのいずれかで提供できます。各リスト項目にはpresentationロールがあり、アンカー要素には、項目のラベルを参照するaria-labelと、項目が無効になっている場合はaria-disabledが定義されたmenuitemロールがあります。

キーボードサポート

キー機能
tabフォーカスがコンポーネントに移動すると、アクティブなタブヘッダーにフォーカスを追加します。すでにフォーカスされているタブヘッダーがある場合は、ページのタブシーケンスに基づいてフォーカスをコンポーネントの外に移動します。
enterフォーカスされたタブヘッダーをアクティブにします。
spaceフォーカスされたタブヘッダーをアクティブにします。
右矢印フォーカスを次のヘッダーに移動します。
左矢印フォーカスを前のヘッダーに移動します。
homeフォーカスを最初のヘッダーに移動します。
endフォーカスを最後のヘッダーに移動します。