标签菜单

TabMenu 是一个导航组件,它将菜单项显示为选项卡标题。


import { TabMenu } from 'primereact/tabmenu';
         

步骤需要一个菜单项集合作为其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-labelledbyaria-label 属性提供。每个列表项都有一个 presentation 角色,而锚元素具有 menuitem 角色,aria-label 引用该项的标签,如果该项被禁用则定义 aria-disabled

键盘支持

按键功能
tab当焦点移入组件时,将焦点添加到活动的选项卡标题,如果已经有一个有焦点的选项卡标题,则根据页面选项卡顺序将焦点移出组件。
enter激活有焦点的选项卡标题。
空格键激活有焦点的选项卡标题。
右箭头将焦点移到下一个标题。
左箭头将焦点移到上一个标题。
home将焦点移到第一个标题。
end将焦点移到最后一个标题。