This commit is contained in:
kailong321200875 2023-09-02 08:35:26 +08:00
parent bdd31f0621
commit c95a4e0763
2 changed files with 12 additions and 2 deletions

View File

@ -108,7 +108,7 @@ const greyModeChange = (show: boolean) => {
} }
// //
const dynamicRouter = ref(appStore.getDynamicRouter) const dynamicRouter = ref(!!appStore.getDynamicRouter)
const dynamicRouterChange = (show: boolean) => { const dynamicRouterChange = (show: boolean) => {
ElMessage.info(t('setting.reExperienced')) ElMessage.info(t('setting.reExperienced'))

View File

@ -3,7 +3,7 @@ import { usePermissionStore } from '@/store/modules/permission'
import { useAppStore } from '@/store/modules/app' import { useAppStore } from '@/store/modules/app'
import { computed, unref, defineComponent, watch, ref, onMounted } from 'vue' import { computed, unref, defineComponent, watch, ref, onMounted } from 'vue'
import { useI18n } from '@/hooks/web/useI18n' import { useI18n } from '@/hooks/web/useI18n'
import { ElScrollbar } from 'element-plus' import { ElScrollbar, ClickOutside } from 'element-plus'
import { Icon } from '@/components/Icon' import { Icon } from '@/components/Icon'
import { Menu } from '@/components/Menu' import { Menu } from '@/components/Menu'
import { useRouter } from 'vue-router' import { useRouter } from 'vue-router'
@ -19,6 +19,9 @@ const prefixCls = getPrefixCls('tab-menu')
export default defineComponent({ export default defineComponent({
name: 'TabMenu', name: 'TabMenu',
directives: {
ClickOutside
},
setup() { setup() {
const { push, currentRoute } = useRouter() const { push, currentRoute } = useRouter()
@ -132,9 +135,16 @@ export default defineComponent({
return false return false
} }
const clickOut = () => {
if (!unref(fixedMenu)) {
showMenu.value = false
}
}
return () => ( return () => (
<div <div
id={`${variables.namespace}-menu`} id={`${variables.namespace}-menu`}
v-click-outside={clickOut}
class={[ class={[
prefixCls, prefixCls,
'relative bg-[var(--left-menu-bg-color)] top-1px layout-border__right', 'relative bg-[var(--left-menu-bg-color)] top-1px layout-border__right',