Compare commits
2 Commits
47659b07b3
...
e3602b4b65
Author | SHA1 | Date |
---|---|---|
RogerWork | e3602b4b65 | 1 year ago |
RogerWork | 813bd9ad87 | 1 year ago |
3 changed files with 84 additions and 5 deletions
@ -1,11 +1,62 @@ |
|||||||
|
<template> |
||||||
|
<div class="page-sidebar"> |
||||||
|
<el-menu :default-active="defaultActive" router class="sidemenu" :collapse="isCollapse"> |
||||||
|
<el-sub-menu v-for="(item,i) in treeData" :key="i" :index="item.path"> |
||||||
|
<template #title> |
||||||
|
<el-icon v-if="item.icon"> |
||||||
|
<component :is="item.icon"></component> |
||||||
|
</el-icon> |
||||||
|
<span>{{ t(`menu.${item.name}`) }}</span> |
||||||
|
</template> |
||||||
|
<template v-for="(child, ci) in item.children" :key="ci"> |
||||||
|
<el-menu-item :index="child.path"> |
||||||
|
<el-icon> |
||||||
|
<component :is="child.icon"></component> |
||||||
|
</el-icon> |
||||||
|
{{ t(`menu.${child.name}`) }} |
||||||
|
</el-menu-item> |
||||||
|
</template> |
||||||
|
</el-sub-menu> |
||||||
|
</el-menu> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
<script setup> |
<script setup> |
||||||
|
import {menuTreeData} from "@/mock/data.js"; |
||||||
|
import {useRoute} from "vue-router"; |
||||||
|
import {useI18n} from "vue-i18n"; |
||||||
|
import {ref, computed} from "vue"; |
||||||
|
|
||||||
|
|
||||||
|
const route = useRoute(); |
||||||
|
const {t} = useI18n(); |
||||||
|
|
||||||
|
const treeData = menuTreeData; |
||||||
|
const defaultActive = computed(() => route.path || treeData.value[0].path); |
||||||
|
|
||||||
|
const isCollapse = ref(false) |
||||||
</script> |
</script> |
||||||
|
|
||||||
<template> |
<style lang="scss"> |
||||||
<div>这是侧边栏组件</div> |
$side-width: 200px; |
||||||
</template> |
|
||||||
|
.page-sidebar { |
||||||
|
.sidemenu.el-menu, |
||||||
|
.sidemenu .el-sub-menu > .el-menu { |
||||||
|
--el-menu-text-color: #ccc; |
||||||
|
--el-menu-hover-bg-color: #060251; |
||||||
|
--el-menu-border-color: transparnet; |
||||||
|
--el-menu-bg-color: #000; |
||||||
|
|
||||||
<style scoped> |
.el-menu-item { |
||||||
|
&.is-active { |
||||||
|
background-color: var(--el-menu-hover-bg-color); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
.sidemenu .el-menu:not(.el-menu--colapse) { |
||||||
|
width: $side-width; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
</style> |
</style> |
||||||
|
Loading…
Reference in new issue