Skip to content

NavigationMenu 多级导航

网站式多级导航栏:顶级触发器悬停/点击打开统一视口面板(大面板多列链接卡),支持延迟开合、受控打开项、键盘导航,href 叶子项渲染为链接。

基础用法(大面板)

基础用法

尚未选择

受控打开(value + oas-change)

受控打开

打开产品打开资源关闭
当前打开:products

延迟开合

延迟开合

垂直方向

垂直方向

多列网格

多列网格(columns=3)

遮罩 + 保挂载 + 箭头

遮罩 + 保挂载 + 箭头

backdrop 打开时显示遮罩;keep-mounted 关闭后保留面板 DOM;arrow 显示指向箭头。

禁用项

禁用项

API

属性

属性说明类型默认值
arrow弹出层指向箭头,默认显示;arrow="false" 隐藏stringtrue
backdrop打开时显示遮罩(点击遮罩关闭)boolean
columns面板网格列数,默认 2(大面板多列链接卡)string2
delay-durationhover 开合延迟(毫秒),默认 200;点击/键盘立即生效不受影响string200
items导航项 JSON(层级结构;叶子项可带 description 描述与 icon 图标渲染大面板链接卡)string[]
keep-mounted关闭时保留面板 DOM 不销毁(供爬虫索引/SEO)boolean
orientation布局方向:horizontal(默认)/ vertical(面板在触发器右侧)stringhorizontal
skip-delay-duration跳过延迟窗口(毫秒),默认 300:关闭后窗口内再次 hover 其他项直接打开跳过延迟string300
value受控打开项(顶级触发器 value,空字符串 = 关闭;存在时打开态以属性为准,交互仅派发 oas-change 由宿主更新)string

事件

事件说明
oas-change打开项变化,detail: { value }(value 为打开的顶级项 value,空字符串 = 关闭)
oas-select选择某项(顶级叶子链接或面板链接卡),detail: { value }

NavItem 字段(继承 MenuItem):

字段说明类型
label导航文字string
value选中值string
href链接地址(可选);叶子项带 href 渲染为 <a> 可跳转string
target链接打开方式(可选)string
icon图标名(可选);面板链接卡图标string
description链接卡描述(可选);大面板形态下渲染在标题下方string
active当前页标记(可选);链接渲染 aria-current="page"boolean
disabled禁用boolean
children子导航项(可选);有 children 的顶级项打开大面板,面板内渲染 inline 二级子导航NavItem[]

交互:悬停(延迟 delay-duration 后)/ 点击顶级触发器打开统一视口面板;点击面板链接卡选择并派发 oas-select;打开项变化派发 oas-change。外部点击关闭;Esc 关闭面板;/(垂直 /)顶级切换、(垂直 )打开面板聚焦首项、面板内 / 移动、 展开 inline 二级子导航、Enter 选择;面板打开时 Tab 在面板项间循环(焦点陷阱)。

基于 MIT OR Apache-2.0 双许可发布