Skip to content

Commit 35e3b12

Browse files
author
“jiafen”
committed
調整sidebar顯示
1 parent b55d13f commit 35e3b12

File tree

1 file changed

+21
-6
lines changed

1 file changed

+21
-6
lines changed

src/views/HomeView.vue

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<template>
22
<main>
3-
<el-container class="h-screen relative">
3+
<el-container class="h-screen">
44
<Sidebar :class="{ 'hidden': sidebarOpen, 'z-50 fixed inset-y-0 left-0': !sidebarOpen}" @singOut="singOut" :sidebarList="sidebarList" @getTableData="getTableData"/>
55
<el-container>
66
<el-header class="bg-white border-b flex items-center justify-between md:justify-end" >
@@ -17,7 +17,7 @@
1717
</template>
1818

1919
<script setup>
20-
import { ref, onBeforeMount } from 'vue'
20+
import { ref, onBeforeMount, watch, onBeforeUnmount, onMounted } from 'vue'
2121
import { useRouter } from 'vue-router'
2222
import { Menu } from '@element-plus/icons-vue'
2323
import { ElMessage } from 'element-plus'
@@ -33,9 +33,9 @@
3333
const toggleSidebar = async () => {
3434
sidebarOpen.value = !sidebarOpen.value
3535
}
36-
36+
3737
const sidebarList = ref([])
38-
38+
3939
const singOut = async () =>{
4040
try {
4141
const res = await logout()
@@ -65,16 +65,31 @@
6565
// 錯誤處理邏輯可以在這裡添加
6666
}
6767
}
68-
68+
6969
const isVisible = ref(false)
7070
const openModal = () => {
7171
isVisible.value = true
7272
}
7373
const closeModal = () => {
7474
isVisible.value = false
7575
}
76+
77+
const isMdScreen = ref(window.innerWidth)
78+
watch(isMdScreen, (nV) => {
79+
if (nV >= 768) sidebarOpen.value = true
80+
})
81+
82+
const updateScreenSize = () => {
83+
isMdScreen.value = window.innerWidth
84+
}
85+
onMounted(() => {
86+
window.addEventListener('resize', updateScreenSize)
87+
})
7688
77-
89+
onBeforeUnmount(() => {
90+
window.removeEventListener('resize', updateScreenSize)
91+
})
92+
7893
onBeforeMount( async () => {
7994
try {
8095
const tableNamesRes = await tableNames()

0 commit comments

Comments
 (0)