|
1 | 1 | <template> |
2 | | - <a-layout-header |
3 | | - v-if="visible" |
4 | | - :class="[fixedHeader && 'ant-header-fixedHeader', sidebarOpened ? 'ant-header-side-opened' : 'ant-header-side-closed', ]" |
5 | | - :style="{ padding: '0' }" |
6 | | - > |
7 | | - <div v-if="mode === 'sidemenu'" class="header"> |
8 | | - <a-icon v-if="device==='mobile'" class="trigger" :type="collapsed ? 'menu-fold' : 'menu-unfold'" @click="toggle"/> |
9 | | - <a-icon v-else class="trigger" :type="collapsed ? 'menu-unfold' : 'menu-fold'" @click="toggle"/> |
10 | | - <user-menu></user-menu> |
11 | | - </div> |
12 | | - <div v-else :class="['top-nav-header-index', theme]"> |
13 | | - <div class="header-index-wide"> |
14 | | - <div class="header-index-left"> |
15 | | - <logo class="top-nav-header" :show-title="device !== 'mobile'"/> |
16 | | - <s-menu v-if="device !== 'mobile'" mode="horizontal" :menu="menus" :theme="theme" /> |
17 | | - <a-icon v-else class="trigger" :type="collapsed ? 'menu-fold' : 'menu-unfold'" @click="toggle" /> |
| 2 | + <transition name="showHeader"> |
| 3 | + <div v-if="visible" class="header-animat"> |
| 4 | + <a-layout-header |
| 5 | + v-if="visible" |
| 6 | + :class="[fixedHeader && 'ant-header-fixedHeader', sidebarOpened ? 'ant-header-side-opened' : 'ant-header-side-closed', ]" |
| 7 | + :style="{ padding: '0' }"> |
| 8 | + <div v-if="mode === 'sidemenu'" class="header"> |
| 9 | + <a-icon v-if="device==='mobile'" class="trigger" :type="collapsed ? 'menu-fold' : 'menu-unfold'" @click="toggle"/> |
| 10 | + <a-icon v-else class="trigger" :type="collapsed ? 'menu-unfold' : 'menu-fold'" @click="toggle"/> |
| 11 | + <user-menu></user-menu> |
| 12 | + </div> |
| 13 | + <div v-else :class="['top-nav-header-index', theme]"> |
| 14 | + <div class="header-index-wide"> |
| 15 | + <div class="header-index-left"> |
| 16 | + <logo class="top-nav-header" :show-title="device !== 'mobile'"/> |
| 17 | + <s-menu v-if="device !== 'mobile'" mode="horizontal" :menu="menus" :theme="theme" /> |
| 18 | + <a-icon v-else class="trigger" :type="collapsed ? 'menu-fold' : 'menu-unfold'" @click="toggle" /> |
| 19 | + </div> |
| 20 | + <user-menu class="header-index-right"></user-menu> |
| 21 | + </div> |
18 | 22 | </div> |
19 | | - <user-menu class="header-index-right"></user-menu> |
20 | | - </div> |
| 23 | + </a-layout-header> |
21 | 24 | </div> |
22 | | - </a-layout-header> |
| 25 | + </transition> |
23 | 26 | </template> |
24 | 27 |
|
25 | 28 | <script> |
@@ -102,3 +105,19 @@ export default { |
102 | 105 | } |
103 | 106 | } |
104 | 107 | </script> |
| 108 | + |
| 109 | +<style lang="less"> |
| 110 | +.header-animat{ |
| 111 | + position: relative; |
| 112 | + z-index: 999; |
| 113 | +} |
| 114 | +.showHeader-enter-active { |
| 115 | + transition: all 0.25s ease; |
| 116 | +} |
| 117 | +.showHeader-leave-active { |
| 118 | + transition: all 0.5s ease; |
| 119 | +} |
| 120 | +.showHeader-enter, .showHeader-leave-to { |
| 121 | + opacity: 0; |
| 122 | +} |
| 123 | +</style> |
0 commit comments