diff --git a/src/layouts/BaseLayout.vue b/src/layouts/BaseLayout.vue index 7c402b49ef52e69d6f8ce4573f06d6b7e22db39c..2e694e93717d50a823c1305c6e6110efc84dd972 100644 --- a/src/layouts/BaseLayout.vue +++ b/src/layouts/BaseLayout.vue @@ -11,7 +11,8 @@ ]" > - +
+ @@ -28,10 +29,10 @@ > - + - + @@ -141,6 +142,7 @@ export default { // mobile if(document.body.clientWidth < 768) { appStore.collapse = true; + document.addEventListener('click', checkClick); } userInfoStore.loadMenus(); userInfoStore.loadPermissions(); @@ -152,6 +154,19 @@ export default { }) }) + const checkClick = (event: any) => { + let dom = document.getElementById("lay-side"); // 这里是侧边栏元素 + + if (dom) { + if (!dom.contains(event.target) && !event.target.classList.contains("layui-icon-spread-left")) { + // 不在侧边栏内点击,隐藏即可 + if (!appStore.collapse) { + appStore.collapse = true; + } + } + } + } + const changeVisible = function () { visible.value = !visible.value; }; @@ -193,6 +208,13 @@ export default {