11<template >
22 <!-- , width: fixedHeader ? `calc(100% - ${sidebarOpened ? 256 : 80}px)` : '100%' -->
3- <a-layout-header v-if =" !headerBarFixed" :class =" [fixedHeader && 'ant-header-fixedHeader', sidebarOpened ? 'ant-header-side-opened' : 'ant-header-side-closed', ]" :style =" { padding: '0' }" >
4- <div v-if =" mode === 'sidemenu'" class =" header" >
3+ <a-layout-header
4+ v-if =" !headerBarFixed"
5+ :class =" [fixedHeader && 'ant-header-fixedHeader', sidebarOpened ? 'ant-header-side-opened' : 'ant-header-side-closed', ]"
6+ :style =" { padding: '0' }"
7+ >
8+ <div
9+ v-if =" mode === 'sidemenu'"
10+ class =" header"
11+ >
512 <a-icon
613 v-if =" device==='mobile'"
714 class =" trigger"
815 :type =" collapsed ? 'menu-fold' : 'menu-unfold'"
9- @click =" toggle" ></a-icon >
16+ @click =" toggle"
17+ ></a-icon >
1018 <a-icon
1119 v-else
1220 class =" trigger"
1321 :type =" collapsed ? 'menu-unfold' : 'menu-fold'"
14- @click =" toggle" />
22+ @click =" toggle"
23+ />
1524
1625 <user-menu ></user-menu >
1726 </div >
18- <div v-else :class =" ['top-nav-header-index', theme]" >
27+ <div
28+ v-else
29+ :class =" ['top-nav-header-index', theme]"
30+ >
1931 <div class =" header-index-wide" >
2032 <div class =" header-index-left" >
21- <logo class =" top-nav-header" :show-title =" device !== 'mobile'" />
33+ <logo
34+ class =" top-nav-header"
35+ :show-title =" device !== 'mobile'"
36+ />
2237 <s-menu
2338 v-if =" device !== 'mobile'"
2439 mode =" horizontal"
2944 v-else
3045 class =" trigger"
3146 :type =" collapsed ? 'menu-fold' : 'menu-unfold'"
32- @click =" toggle" ></a-icon >
47+ @click =" toggle"
48+ ></a-icon >
3349 </div >
3450 <user-menu class =" header-index-right" ></user-menu >
3551 </div >
@@ -43,7 +59,8 @@ import UserMenu from '../tools/UserMenu'
4359import SMenu from ' ../menu/'
4460import Logo from ' ../tools/Logo'
4561
46- import { mixin } from ' @/utils/mixin.js'
62+ import { mixin } from ' @/utils/mixin'
63+ import { handleScrollHeader } from ' @/utils/util'
4764
4865export default {
4966 name: ' GlobalHeader' ,
@@ -85,16 +102,19 @@ export default {
85102 }
86103 },
87104 mounted () {
88- window .addEventListener (' scroll' , this .handleScroll )
105+ const _this = this
106+ handleScrollHeader (direction => {
107+ _this .handleScroll (direction)
108+ })
89109 },
90110 methods: {
91- handleScroll () {
111+ handleScroll (direction ) {
92112 if (this .autoHideHeader ) {
93113 const scrollTop = window .pageYOffset || document .documentElement .scrollTop || document .body .scrollTop
94- if (scrollTop > 100 ) {
95- this .headerBarFixed = true
96- } else {
114+ if (direction === ' up' ) {
97115 this .headerBarFixed = false
116+ } else {
117+ scrollTop > 100 && (this .headerBarFixed = true )
98118 }
99119 } else {
100120 this .headerBarFixed = false
0 commit comments