perf: perf sidebar (#91)

This commit is contained in:
一万 2021-11-03 10:13:27 +08:00 committed by GitHub
parent 0615902632
commit c25b130b7d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 2 deletions

View File

@ -3,11 +3,13 @@ import path from "path";
import { storageLocal } from "/@/utils/storage"; import { storageLocal } from "/@/utils/storage";
import { PropType, ref, nextTick } from "vue"; import { PropType, ref, nextTick } from "vue";
import { childrenType } from "../../types"; import { childrenType } from "../../types";
import { useAppStoreHook } from "/@/store/modules/app";
import Icon from "/@/components/ReIcon/src/Icon.vue"; import Icon from "/@/components/ReIcon/src/Icon.vue";
const layout = ref( const layout = ref(
storageLocal.getItem("responsive-layout") || "vertical-dark" storageLocal.getItem("responsive-layout") || "vertical-dark"
); );
const menuMode = layout.value.layout.split("-")[0] === "vertical"; const menuMode = layout.value.layout.split("-")[0] === "vertical";
const pureApp = useAppStoreHook();
const props = defineProps({ const props = defineProps({
item: { item: {
@ -91,7 +93,15 @@ function resolvePath(routePath) {
" "
/> />
<template #title> <template #title>
<div style="display: flex; align-items: center; overflow: hidden"> <div
style="
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
overflow: hidden;
"
>
<span v-if="!menuMode">{{ $t(onlyOneChild.meta.title) }}</span> <span v-if="!menuMode">{{ $t(onlyOneChild.meta.title) }}</span>
<el-tooltip <el-tooltip
v-else v-else
@ -103,6 +113,7 @@ function resolvePath(routePath) {
<span <span
ref="menuTextRef" ref="menuTextRef"
style="overflow: hidden; text-overflow: ellipsis" style="overflow: hidden; text-overflow: ellipsis"
:style="pureApp.sidebar.opened ? 'width: 125px' : ''"
@mouseover="hoverMenu(onlyOneChild)" @mouseover="hoverMenu(onlyOneChild)"
> >
{{ $t(onlyOneChild.meta.title) }} {{ $t(onlyOneChild.meta.title) }}
@ -132,7 +143,7 @@ function resolvePath(routePath) {
v-else v-else
placement="top" placement="top"
:offset="-10" :offset="-10"
:disabled="!props.item.showTooltip" :disabled="!pureApp.sidebar.opened || !props.item.showTooltip"
> >
<template #content> {{ $t(props.item.meta.title) }} </template> <template #content> {{ $t(props.item.meta.title) }} </template>
<div <div

View File

@ -129,6 +129,7 @@
.el-menu-item, .el-menu-item,
.el-sub-menu__title { .el-sub-menu__title {
color: $menuText; color: $menuText;
padding: 0 16px 0 40px;
} }
// menu hover // menu hover