vue 实现菜单管理布局
时间: 2023-08-09 07:04:25 浏览: 94
要实现菜单管理布局,可以使用 Vue.js 和 Element UI 库。以下是一个简单的布局示例:
```html
<template>
<div class="container">
<div class="sidebar">
<el-menu
:default-active="activeIndex"
class="el-menu-vertical-demo"
:collapse="isCollapse"
@select="handleMenuSelect"
>
<el-menu-item index="1">
<i class="el-icon-s-home"></i>
<span slot="title">首页</span>
</el-menu-item>
<el-submenu index="2">
<template slot="title">
<i class="el-icon-s-grid"></i>
<span>菜单管理</span>
</template>
<el-menu-item index="2-1">菜单列表</el-menu-item>
<el-menu-item index="2-2">添加菜单</el-menu-item>
</el-submenu>
<el-menu-item index="3">
<i class="el-icon-s-order"></i>
<span slot="title">订单管理</span>
</el-menu-item>
<el-menu-item index="4">
<i class="el-icon-s-custom"></i>
<span slot="title">客户管理</span>
</el-menu-item>
</el-menu>
</div>
<div class="main">
<el-button class="collapse-btn" @click="toggleCollapse">
<i :class="collapseIcon"></i>
</el-button>
<el-breadcrumb separator="/">
<el-breadcrumb-item>首页</el-breadcrumb-item>
<el-breadcrumb-item>菜单管理</el-breadcrumb-item>
<el-breadcrumb-item>菜单列表</el-breadcrumb-item>
</el-breadcrumb>
<div class="content">
<router-view />
</div>
</div>
</div>
</template>
<script>
export default {
data() {
return {
activeIndex: '1',
isCollapse: false,
};
},
methods: {
handleMenuSelect(index) {
this.activeIndex = index;
},
toggleCollapse() {
this.isCollapse = !this.isCollapse;
},
},
computed: {
collapseIcon() {
return this.isCollapse ? 'el-icon-s-unfold' : 'el-icon-s-fold';
},
},
};
</script>
<style scoped>
.container {
display: flex;
height: 100%;
}
.sidebar {
width: 200px;
background-color: #f0f2f5;
padding: 20px;
}
.main {
flex: 1;
padding: 20px;
background-color: #fff;
position: relative;
}
.collapse-btn {
position: absolute;
top: 20px;
right: 20px;
}
.content {
margin-top: 20px;
}
</style>
```
在这个示例中,我们使用了 `el-menu` 组件来创建菜单,使用 `el-breadcrumb` 组件来显示面包屑导航,使用 `router-view` 组件来显示子组件。我们还添加了一个按钮来切换侧边栏的展开和折叠状态。
你可以根据实际需求修改布局和菜单项。这个示例只是一个简单的开始,你可以添加更多的功能来满足你的需求。
阅读全文