TUI

Menu 菜单
支持垂直菜单导航,配置简单,支持嵌套子菜单与图标展示。可通过 v-model 双向绑定当前路径。
尝试使用 v-model 来做受控与非受控的切换, 当 v-model 没有绑定或者为空时,valuechange 事件将作为非受控的方式来切换
基础用法
传入菜单数组,通过 v-model 绑定当前选中项。
示例代码
vue
非受控用法
通过 value 传入菜单路径 和 change 事件 绑定当前选中项。
示例代码
vue
图标用法
配合 #prefix 插槽可以为每一项菜单自定义图标内容,可结合业务图标组件进行渲染,例如 BussinessViconsIcon
示例代码
vue
嵌套子菜单
支持多级嵌套结构,点击展开子项。
示例代码
vue
菜单组(共享选中状态)
多个菜单组件包裹在 TsMenuGroup 中,将共享同一个选中路径状态(v-model),适用于多列布局或分类菜单场景。
示例代码
vue
路径、事件切换
基于原生 vue-router 的路由结构适配方案,支持动态菜单渲染。通过配置菜单数据结构与路由保持一致,实现路径联动和跳转逻辑。可自定义菜单图标、子级路径跳转行为等,适用于常规页面级导航结构。
expandByPath 职责:根据路径展开对应的菜单,如展开其他子项时,并需要切换回 v-model 所在的子项展开效果, 那么请调用该方法。 v-model 仅仅在值发生改变时才会展开正确的子项。
示例代码
vue
属性 Props
属性名
说明
类型
可选值
默认值
版本说明
v-model
绑定当前选中路径,支持双向绑定
string
value
绑定当前选中路径,建议在非受控的场景下使用
string
0.3.5 新增
menus
菜单列表数据
Array<MenuItem>
variant
外观风格,控制 tab 是卡片型还是文本型
string
card | text
card
emitOnParentWithChildren
是否在当有子节点时,父项点击触发 change 事件
boolean
false
ssg
是否开启服务端渲染
boolean
false
事件 Events
事件名
说明
回调参数
版本说明
change
值变化时触发
(e: 'change', item: MenuItem): void;
方法 Methods
方法名
说明
参数
返回值
版本说明
expandByPath
展开指定路径,默认为v-model
(path?: string | undefined) => void
-
插槽 Slots
插槽名
说明
版本说明
prefix
自定义前缀
badge
自定义徽标
基础用法
非受控用法
图标用法
嵌套子菜单
菜单组(共享选中状态)
路径、事件切换
属性 Props
事件 Events
方法 Methods
插槽 Slots
MenuItem Type