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": { "dependencies": {
"@iconify/iconify": "^2.2.1", "@iconify/iconify": "^2.2.1",
"@vueuse/core": "^8.4.1", "@vueuse/core": "^8.4.2",
"@wangeditor/editor": "^5.0.1", "@wangeditor/editor": "^5.0.1",
"@wangeditor/editor-for-vue": "^5.1.10", "@wangeditor/editor-for-vue": "^5.1.10",
"@zxcvbn-ts/core": "^2.0.1", "@zxcvbn-ts/core": "^2.0.1",
@ -41,7 +41,7 @@
"mitt": "^3.0.0", "mitt": "^3.0.0",
"mockjs": "^1.1.0", "mockjs": "^1.1.0",
"nprogress": "^0.2.0", "nprogress": "^0.2.0",
"pinia": "^2.0.13", "pinia": "^2.0.14",
"pinia-plugin-persist": "^1.0.0", "pinia-plugin-persist": "^1.0.0",
"qrcode": "^1.5.0", "qrcode": "^1.5.0",
"qs": "^6.10.3", "qs": "^6.10.3",
@ -55,7 +55,7 @@
"devDependencies": { "devDependencies": {
"@commitlint/cli": "^16.2.4", "@commitlint/cli": "^16.2.4",
"@commitlint/config-conventional": "^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", "@intlify/vite-plugin-vue-i18n": "^3.4.0",
"@purge-icons/generated": "^0.8.1", "@purge-icons/generated": "^0.8.1",
"@types/intro.js": "^3.0.2", "@types/intro.js": "^3.0.2",
@ -69,7 +69,7 @@
"@vitejs/plugin-vue": "^2.3.2", "@vitejs/plugin-vue": "^2.3.2",
"@vitejs/plugin-vue-jsx": "^1.3.10", "@vitejs/plugin-vue-jsx": "^1.3.10",
"autoprefixer": "^10.4.7", "autoprefixer": "^10.4.7",
"eslint": "^8.14.0", "eslint": "^8.15.0",
"eslint-config-prettier": "^8.5.0", "eslint-config-prettier": "^8.5.0",
"eslint-define-config": "^1.4.0", "eslint-define-config": "^1.4.0",
"eslint-plugin-prettier": "^4.0.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 () => ( return () => (
<div <div
id={prefixCls} id={prefixCls}
@ -82,27 +114,7 @@ export default defineComponent({
} }
]} ]}
> >
<ElScrollbar> {renderMenuWrap()}
<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>
</div> </div>
) )
} }