|
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