选项卡菜单

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


import { TabMenu } from 'primereact/tabmenu';
         

步骤需要一个菜单项集合作为其模型


<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 通过 items 的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激活焦点选项卡标题。
space激活焦点选项卡标题。
右箭头将焦点移动到下一个标题。
左箭头将焦点移动到上一个标题。
home将焦点移动到第一个标题。
end将焦点移动到最后一个标题。