fix: fix the problem that the page is stuck in top mode

This commit is contained in:
ckl1 2022-05-07 16:51:31 +08:00
parent c22f280dc0
commit 8d01f48d50
3 changed files with 476 additions and 481 deletions

View File

@ -27,7 +27,7 @@
},
"dependencies": {
"@iconify/iconify": "^2.2.1",
"@vueuse/core": "^8.4.1",
"@vueuse/core": "^8.4.2",
"@wangeditor/editor": "^5.0.1",
"@wangeditor/editor-for-vue": "^5.1.10",
"@zxcvbn-ts/core": "^2.0.1",
@ -41,7 +41,7 @@
"mitt": "^3.0.0",
"mockjs": "^1.1.0",
"nprogress": "^0.2.0",
"pinia": "^2.0.13",
"pinia": "^2.0.14",
"pinia-plugin-persist": "^1.0.0",
"qrcode": "^1.5.0",
"qs": "^6.10.3",
@ -55,7 +55,7 @@
"devDependencies": {
"@commitlint/cli": "^16.2.4",
"@commitlint/config-conventional": "^16.2.4",
"@iconify/json": "^2.1.36",
"@iconify/json": "^2.1.38",
"@intlify/vite-plugin-vue-i18n": "^3.4.0",
"@purge-icons/generated": "^0.8.1",
"@types/intro.js": "^3.0.2",
@ -69,7 +69,7 @@
"@vitejs/plugin-vue": "^2.3.2",
"@vitejs/plugin-vue-jsx": "^1.3.10",
"autoprefixer": "^10.4.7",
"eslint": "^8.14.0",
"eslint": "^8.15.0",
"eslint-config-prettier": "^8.5.0",
"eslint-define-config": "^1.4.0",
"eslint-plugin-prettier": "^4.0.0",

File diff suppressed because it is too large Load Diff

View File

@ -70,6 +70,38 @@ export default defineComponent({
}
}
const renderMenuWrap = () => {
if (unref(layout) === 'top') {
return renderMenu()
} else {
return <ElScrollbar>{renderMenu()}</ElScrollbar>
}
}
const renderMenu = () => {
return (
<ElMenu
defaultActive={unref(activeMenu)}
mode={unref(menuMode)}
collapse={
unref(layout) === 'top' || unref(layout) === 'cutMenu' ? false : unref(collapse)
}
uniqueOpened={unref(layout) === 'top' ? false : unref(uniqueOpened)}
backgroundColor="var(--left-menu-bg-color)"
textColor="var(--left-menu-text-color)"
activeTextColor="var(--left-menu-text-active-color)"
onSelect={menuSelect}
>
{{
default: () => {
const { renderMenuItem } = useRenderMenuItem(unref(routers), unref(menuMode))
return renderMenuItem()
}
}}
</ElMenu>
)
}
return () => (
<div
id={prefixCls}
@ -82,27 +114,7 @@ export default defineComponent({
}
]}
>
<ElScrollbar>
<ElMenu
defaultActive={unref(activeMenu)}
mode={unref(menuMode)}
collapse={
unref(layout) === 'top' || unref(layout) === 'cutMenu' ? false : unref(collapse)
}
uniqueOpened={unref(layout) === 'top' ? false : unref(uniqueOpened)}
backgroundColor="var(--left-menu-bg-color)"
textColor="var(--left-menu-text-color)"
activeTextColor="var(--left-menu-text-active-color)"
onSelect={menuSelect}
>
{{
default: () => {
const { renderMenuItem } = useRenderMenuItem(unref(routers), unref(menuMode))
return renderMenuItem()
}
}}
</ElMenu>
</ElScrollbar>
{renderMenuWrap()}
</div>
)
}