fix: 🐛 折叠/打开侧边栏菜单按钮样式调整
Former-commit-id: 451a2f4b1f7300ab48cd049ceb362b53ea96692b
This commit is contained in:
@@ -30,9 +30,10 @@ function toggleClick() {
|
|||||||
.hamburger {
|
.hamburger {
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
transform: scaleX(-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
.hamburger.is-active {
|
.hamburger.is-active {
|
||||||
transform: rotate(180deg);
|
transform: scaleX(1);
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -1,3 +1,13 @@
|
|||||||
|
<template>
|
||||||
|
<i
|
||||||
|
v-if="icon && icon.includes('el-icon')"
|
||||||
|
:class="icon"
|
||||||
|
class="sub-el-icon"
|
||||||
|
></i>
|
||||||
|
<SvgIcon v-else-if="icon" :icon-class="icon" />
|
||||||
|
<span v-if="title">{{ translateRouteTitle(title) }}</span>
|
||||||
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import SvgIcon from "@/components/SvgIcon/index.vue";
|
import SvgIcon from "@/components/SvgIcon/index.vue";
|
||||||
import { translateRouteTitle } from "@/utils/i18n";
|
import { translateRouteTitle } from "@/utils/i18n";
|
||||||
@@ -12,26 +22,8 @@ const props = defineProps({
|
|||||||
default: "",
|
default: "",
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
const vnodes: any[] = [];
|
|
||||||
if (props.icon) {
|
|
||||||
if (props.icon.includes("el-icon")) {
|
|
||||||
vnodes.push(h("i", { class: [props.icon, "sub-el-icon"] }));
|
|
||||||
} else {
|
|
||||||
vnodes.push(h(SvgIcon, { "icon-class": props.icon }));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (props.title) {
|
|
||||||
vnodes.push(h("span", { slot: "title" }, translateRouteTitle(props.title)));
|
|
||||||
}
|
|
||||||
const render = h("div", vnodes);
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
|
||||||
<render />
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
.sub-el-icon {
|
.sub-el-icon {
|
||||||
width: 1em;
|
width: 1em;
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { computed } from "vue";
|
|
||||||
import { isExternal } from "@/utils/index";
|
import { isExternal } from "@/utils/index";
|
||||||
import { useRouter } from "vue-router";
|
import { useRouter } from "vue-router";
|
||||||
|
|
||||||
|
|||||||
@@ -84,7 +84,7 @@ function resolvePath(routePath: string) {
|
|||||||
</script>
|
</script>
|
||||||
<template>
|
<template>
|
||||||
<div v-if="!item.meta || !item.meta.hidden">
|
<div v-if="!item.meta || !item.meta.hidden">
|
||||||
<!-- 无子路由 || 一个子路由(始终显示 alwaysShow = false 情况) -->
|
<!-- 无子路由 || 目录只有一个子路由并配置始终显示为否(alwaysShow=false) -->
|
||||||
<template
|
<template
|
||||||
v-if="
|
v-if="
|
||||||
hasOneShowingChild(item.children, item) &&
|
hasOneShowingChild(item.children, item) &&
|
||||||
|
|||||||
@@ -119,6 +119,19 @@
|
|||||||
margin-left: 19px;
|
margin-left: 19px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO
|
||||||
|
& > .svg-icon {
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
& > span {
|
||||||
|
display: inline-block;
|
||||||
|
width: 0;
|
||||||
|
height: 0;
|
||||||
|
overflow: hidden;
|
||||||
|
visibility: hidden;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-sub-menu {
|
.el-sub-menu {
|
||||||
|
|||||||
Reference in New Issue
Block a user