待优化
菜单 menu侧边栏菜单
使用说明
简单引入
引入menu
组件后,通过menu-item
组件定义菜单选项
(通过select事件,你可以接收到当前选中的下标(下标由0开始))已废弃使用
通过select事件,你可以接收到当前选中的value
展开代码
<vi-menu @select="handleSelect">
<vi-menu-item value="1">菜单选项1</vi-menu-item>
<vi-menu-item value="2">菜单选项2</vi-menu-item>
<vi-menu-item value="3">菜单选项3</vi-menu-item>
<vi-menu-item value="4">菜单选项4</vi-menu-item>
</vi-menu>
<script setup>
function handleSelect (val) {
console.log(val)
}
</script>
通过dedaultId定义默认选中下标 已废弃使用
展开代码
<vi-menu @select="handleSelect" :default-id="3">
<vi-menu-item>菜单选项1</vi-menu-item>
<vi-menu-item>菜单选项2</vi-menu-item>
<vi-menu-item>菜单选项3</vi-menu-item>
<vi-menu-item>菜单选项4</vi-menu-item>
</vi-menu>
自操控选中内容
可以通过v-model操控选中value
展开代码
<vi-menu v-model="pick">
<vi-menu-item value="1">菜单选项1</vi-menu-item>
<vi-menu-item value="2">菜单选项2</vi-menu-item>
<vi-menu-item value="3">菜单选项3</vi-menu-item>
<vi-menu-item value="4">菜单选项4</vi-menu-item>
</vi-menu>
<vi-button @click="pick = '3'">选中菜单3</vi-button>
<script setup>
const pick = ref()
</script>
菜单阴影
通过shadow属性,可以开启菜单卡片阴影样式
展开代码
<vi-menu shadow>
<vi-menu-item>菜单选项1</vi-menu-item>
<vi-menu-item>菜单选项2</vi-menu-item>
<vi-menu-item>菜单选项3</vi-menu-item>
<vi-menu-item>菜单选项4</vi-menu-item>
</vi-menu>
vue-router路由模式
通过router属性开启路由匹配模式,在该模式下通过向item绑定to属性,开启路由跳转
WARNING
你需要确保当前环境下安装并注册了路由
展开代码
<vi-menu shadow router :default-id="2">
<vi-menu-item to="/">去首页,真的会去啊慎点</vi-menu-item>
<vi-menu-item to="/components/menu/">这一页</vi-menu-item>
</vi-menu>
菜单组
通过menu-group
组件定义菜单组,菜单组可以无限嵌套
WARNING
菜单下标分配是按可选择的item的顺序来定的
通过title定义菜单组的
展开代码
<vi-menu shadow @select="handleSelect">
<vi-menu-group title="选项1-3">
<vi-menu-item>菜单选项1</vi-menu-item>
<vi-menu-group title="选项2-3">
<vi-menu-item>菜单选项2</vi-menu-item>
<vi-menu-item>菜单选项3</vi-menu-item>
</vi-menu-group>
</vi-menu-group>
<vi-menu-group title="选项4-6">
<vi-menu-item>菜单选项4</vi-menu-item>
<vi-menu-item>菜单选项5</vi-menu-item>
<vi-menu-item>菜单选项6</vi-menu-item>
</vi-menu-group>
<vi-divider/>
<vi-menu-item>菜单选项7</vi-menu-item>
</vi-menu>
通过scalable定义组是否为可升缩样式
展开代码
<vi-menu shadow>
<vi-menu-group title="选项1-3" scalable>
<vi-menu-item>菜单选项1</vi-menu-item>
<vi-menu-group title="选项2-3">
<vi-menu-item>菜单选项2</vi-menu-item>
<vi-menu-item>菜单选项3</vi-menu-item>
</vi-menu-group>
</vi-menu-group>
</vi-menu>
通过option属性定义可升缩组标题是否可选,若可选后下标定义同item一样顺序分配
在router模式下,该group同样可以绑定to属性
展开代码
<vi-menu shadow>
<vi-menu-group title="选项1-4 菜单选项1" scalable option>
<vi-menu-item>菜单选项2</vi-menu-item>
<vi-menu-group title="选项3-4">
<vi-menu-item>菜单选项3</vi-menu-item>
<vi-menu-item>菜单选项4</vi-menu-item>
</vi-menu-group>
</vi-menu-group>
<vi-menu-item>菜单选项5</vi-menu-item>
</vi-menu>
Props
menu
属性名 | 描述 | 类型 | 默认值 |
---|---|---|---|
menu-item
属性名 | 描述 | 类型 | 默认值 |
---|---|---|---|
menu-group
属性名 | 描述 | 类型 | 默认值 |
---|---|---|---|
插槽
menu
插槽名 | 描述 | 有无默认内容 |
---|---|---|
menu-item
插槽名 | 描述 | 有无默认内容 |
---|---|---|
menu-group
插槽名 | 描述 | 有无默认内容 |
---|---|---|
事件支持
menu
事件名 | 描述 | 参数列表 |
---|---|---|
css变量
变量名 | 描述 | 默认值 |
---|---|---|