返回目录
组件详情入口
导航
@vean/ui
SNavigationMenu

NavigationMenu

NavigationMenu 属于 导航 分类。建议先看演示与用法,再对照 API 表格完成接入和样式调整。

先用快捷跳转面板找到概述、用法、演示和 API,再往下细读完整文档内容。

快速跳转

同分类组件

如果你在同一类交互里做组合,这些组件通常会一起出现。

导航菜单(v0.50.0 已移除)

⚠️ 已移除: NavigationMenu / SNavigationMenu 与整个 navigation-menu 家族已在 v0.50.0 移除,不再导出任何符号 —— 请改用 NavMenu。

该家族先冻结一个版本,随后在 v0.50.0 的 breaking 窗口内随日期 / Table / Form 引擎更替一并移除。本页保留一个版本周期,供存量代码集中查阅迁移信息,仅说明移除范围与到 NavMenu 的映射。

移除范围

公开面状态
@vean/aria/navigation-menu 子路径已移除 —— 全部 NavigationMenu* 原语与类型
headless 根导出的 NavigationMenu* 符号已移除(Headless.* 命名空间导出同步移除)
@vean/ui 的 SNavigationMenu已移除 —— 不再提供样式层对应组件
provideNavigationMenuUi已移除 —— 使用 provideNavMenuUi
文档示例、组件 API 数据、组件 changelog 页已移除
vean 注册表项 ui/navigation-menu已移除

迁移到 NavMenu

NavMenu 建模同一领域 —— 站点级导航、悬停/点击双触发、键盘导航、定位视口与数据驱动 items API —— 但建立在单一共享 Popper 表面上:整个 viewport 就是单个 PopperPositioner,其 reference 动态切换到激活触发器,悬停时序由单个共享状态机驱动。Root props 基本同构(modelValue / defaultValue、orientation、dir、delayDuration、skipDelayDuration、disableClickTrigger、disableHoverTrigger、disablePointerLeaveClose)。

- import { SNavigationMenu } from '@vean/ui';
+ import { SNavMenu } from '@vean/ui';

- <SNavigationMenu :items="items" />
+ <SNavMenu :items="items" />
- import { NavigationMenuRoot, NavigationMenuItem } from '@vean/aria/navigation-menu';
+ import { NavMenuRoot, NavMenuItem } from '@vean/aria/nav-menu';

组件映射

已移除NavMenu
SNavigationMenu / NavigationMenuCompactSNavMenu / NavMenuCompact
NavigationMenuRoot / List / Item / Trigger / Content / Link / Viewport同名加 NavMenu 前缀
NavigationMenuSubListNavMenuSubTrigger + NavMenuSubContent
NavigationMenuIndicator—(共享 NavMenu viewport 自带 PopperArrow)
provideNavigationMenuUiprovideNavMenuUi

类型映射

每个已移除的 NavigationMenu* 类型都有同名后缀的 NavMenu* 对应项:NavigationMenuRootProps → NavMenuRootProps、NavigationMenuOptionData → NavMenuOptionData、NavigationMenuUiSlot → NavMenuUiSlot,以此类推。

行为差异

  • 子菜单浮层 —— NavigationMenu 把子项渲染在「指示器 + 视口」中;NavMenu 在条目触发器旁打开嵌套浮层(NavMenuSubTrigger / NavMenuSubContent),NavMenuViewport 与 NavMenuSubContent 均支持 sideOffset。
  • 指示器 —— NavMenu 没有独立指示器原语;箭头挂在共享 viewport 上并跟随激活触发器。
  • 挂载控制 —— NavigationMenuRoot 暴露 unmountOnHide;NavMenu 改为在内容原语上遵循 forceMount。
  • UI 槽位 —— 槽位集合不同(已移除的 NavigationMenuUiSlot 声明 19 个槽,NavMenuUiSlot 声明 20 个,含 subTrigger / subContent / positioner);class、size 与 ui prop 语义不变。