46 lines
1.0 KiB
Vue
46 lines
1.0 KiB
Vue
<template>
|
|
<div v-if="!menu.meta || !menu.meta.hidden" class="sidebar-item">
|
|
<el-menu-item ref="subMenu" :index="menu.path" popper-class="sidebar-popper">
|
|
<template #title>
|
|
<AppIcon
|
|
v-if="menu.meta && menu.meta.icon"
|
|
:iconName="menu.meta.icon"
|
|
class="sidebar-icon"
|
|
/>
|
|
<span v-if="menu.meta && menu.meta.title">{{ menu.meta.title }}</span>
|
|
</template>
|
|
</el-menu-item>
|
|
</div>
|
|
</template>
|
|
|
|
<script setup lang="ts">
|
|
import { type RouteRecordRaw } from 'vue-router'
|
|
|
|
defineProps<{
|
|
menu: RouteRecordRaw
|
|
}>()
|
|
</script>
|
|
|
|
<style scoped lang="scss">
|
|
.sidebar-item {
|
|
.sidebar-icon {
|
|
font-size: 20px;
|
|
margin-top: -2px;
|
|
}
|
|
.el-menu-item {
|
|
padding: 13px 12px 13px 16px !important;
|
|
font-weight: 500;
|
|
border-radius: 4px;
|
|
&:hover {
|
|
background: none;
|
|
color: var(--el-menu-active-color);
|
|
}
|
|
}
|
|
|
|
.el-menu-item.is-active {
|
|
color: var(--el-menu-active-color);
|
|
background: var(--el-color-primary-light-9);
|
|
}
|
|
}
|
|
</style>
|