用 vue element生成一个左侧菜单栏
时间: 2024-05-15 21:19:58 浏览: 157
以下是一个基本的示例代码,使用 Vue 和 Element UI 库来生成一个左侧菜单栏:
```
<template>
<div class="sidebar">
<el-menu :default-active="activeIndex" class="el-menu-vertical-demo" @select="handleMenuSelect">
<el-submenu index="1">
<template slot="title">
<i class="el-icon-location"></i>
<span>导航一</span>
</template>
<el-menu-item-group>
<template slot="title">分组一</template>
<el-menu-item index="1-1">选项1</el-menu-item>
<el-menu-item index="1-2">选项2</el-menu-item>
</el-menu-item-group>
<el-menu-item-group>
<template slot="title">分组二</template>
<el-menu-item index="1-3">选项3</el-menu-item>
</el-menu-item-group>
<el-submenu index="1-4">
<template slot="title">选项4</template>
<el-menu-item index="1-4-1">选项4-1</el-menu-item>
</el-submenu>
</el-submenu>
<el-menu-item index="2">
<i class="el-icon-menu"></i>
<span slot="title">导航二</span>
</el-menu-item>
<el-menu-item index="3">
<i class="el-icon-setting"></i>
<span slot="title">导航三</span>
</el-menu-item>
</el-menu>
</div>
</template>
<script>
export default {
data() {
return {
activeIndex: '1-1'
};
},
methods: {
handleMenuSelect(index) {
this.activeIndex = index;
}
}
};
</script>
<style>
.sidebar {
width: 200px;
height: 100%;
background-color: #f5f7fa;
border-right: 1px solid #e4e7ed;
}
.el-menu-vertical-demo {
border: none;
background-color: #f5f7fa;
color: #909399;
}
.el-menu-vertical-demo .el-submenu__title {
color: #909399;
}
.el-menu-vertical-demo .el-menu-item {
color: #909399;
}
.el-menu-vertical-demo .el-menu-item--active,
.el-menu-vertical-demo .el-submenu.is-active > .el-submenu__title {
color: #409EFF;
background-color: #ecf5ff;
}
</style>
```
在这个示例中,我们使用 `el-menu` 组件来创建一个垂直菜单,其中包含三个导航项。每个导航项可以包含子项或分组。当用户选择菜单项时,`@select` 事件会触发 `handleMenuSelect` 方法,该方法会更新 `activeIndex`,以便高亮显示当前选择的菜单项。最后,我们使用一些 CSS 样式来定义菜单栏的外观和行为。
你可以根据自己的需要修改菜单项的数量和内容,以及样式和行为。
阅读全文