Nav
基础导航基于 Bootstrap 5 的导航组件,Nav 系列(Nav、NavItem、NavLink)用于构建基础导航,支持 tabs/pills/underline 三种样式变体、填充与两端对齐、垂直布局、激活/禁用状态、受控/非受控激活 key 与自定义元素渲染,并可嵌入 NavDropdown 下拉菜单
基础用法
Nav 渲染 `ul.nav`,NavItem 渲染 `li.nav-item`,NavLink 渲染 `a.nav-link`, 与 Bootstrap 的导航结构一一对应;Nav 位于 Navbar 内时会自动追加 `navbar-nav` 类
样式变体
variant 分别渲染 `nav-tabs`、`nav-pills` 与 `nav-underline` 类,并自动为容器设置 `role="tablist"`
填充与两端对齐
fill 按内容比例分配宽度,justify 让所有条目等宽,分别对应 `nav-fill` 与 `nav-justified` 类
垂直导航
vertical 渲染 `flex-column`,传入断点时渲染响应式的 `flex-{breakpoint}-column` 类(如 flex-lg-column)
链接型导航
设置了 href 的 NavLink 渲染为 `a` 元素;未设置时渲染为 `button`,两者都携带 `nav-link` 类
激活与禁用
激活链接渲染 `active` 类并设置 `aria-current="page"`;禁用链接同时设置 `aria-disabled` 与 `tabIndex=-1`,禁用按钮使用原生 disabled 属性。设置了 defaultActiveKey 的 Nav 会根据点击自动维护激活状态
受控导航
当前激活的 key:home。传入 activeKey 后 Nav 变为受控组件,切换状态完全由 onSelect 驱动的外部 state 决定
嵌入下拉菜单
NavDropdown 渲染为 `li.nav-item.dropdown`,触发按钮为 `a.nav-link.dropdown-toggle`, 菜单内容由 DropdownItem 组成,可与 Nav 无缝组合