1
1
<template >
2
- <CHeader position =" sticky" class =" mb-4 " >
2
+ <CHeader position =" sticky" : class =" headerClassNames " >
3
3
<CContainer class =" border-bottom" fluid >
4
4
<CHeaderToggler class =" ps-1" @click =" $store.commit('toggleSidebar')" >
5
5
<CIcon icon =" cil-menu" size =" lg" />
6
6
</CHeaderToggler >
7
- <CHeaderBrand class =" mx-auto d-lg-none" to =" /" >
8
- <CIcon :icon =" logo" height =" 48" alt =" Logo" />
9
- </CHeaderBrand >
10
7
<CHeaderNav class =" d-none d-md-flex me-auto" >
11
8
<CNavItem >
12
9
<CNavLink href =" /dashboard" > Dashboard </CNavLink >
43
40
<CDropdown variant =" nav-item" placement =" bottom-end" >
44
41
<CDropdownToggle :caret =" false" >
45
42
<CIcon v-if =" colorMode === 'dark'" icon =" cil-moon" size =" xl" />
46
- <CIcon
47
- v-else-if =" colorMode === 'light'"
48
- icon =" cil-sun"
49
- size =" xl"
50
- />
43
+ <CIcon v-else-if =" colorMode === 'light'" icon =" cil-sun" size =" xl" />
51
44
<CIcon v-else icon =" cil-contrast" size =" xl" />
52
45
</CDropdownToggle >
53
46
<CDropdownMenu >
96
89
</template >
97
90
98
91
<script >
92
+ import { onMounted , ref } from ' vue'
99
93
import { useColorModes } from ' @coreui/vue'
100
94
import AppBreadcrumb from ' ./AppBreadcrumb'
101
95
import AppHeaderDropdownAccnt from ' ./AppHeaderDropdownAccnt'
@@ -107,10 +101,23 @@ export default {
107
101
AppHeaderDropdownAccnt,
108
102
},
109
103
setup () {
104
+ const headerClassNames = ref (' mb-4' )
110
105
const { colorMode , setColorMode } = useColorModes (
111
106
' coreui-free-vue-admin-template-theme' ,
112
107
)
108
+
109
+ onMounted (() => {
110
+ document .addEventListener (' scroll' , () => {
111
+ if (document .documentElement .scrollTop > 0 ) {
112
+ headerClassNames .value = ' mb-4 shadow-sm'
113
+ } else {
114
+ headerClassNames .value = ' mb-4'
115
+ }
116
+ })
117
+ })
118
+
113
119
return {
120
+ headerClassNames,
114
121
logo,
115
122
colorMode,
116
123
setColorMode,
0 commit comments