固定顶部导航栏&窗口大小改变实时更新栏数
This commit is contained in:
		| @@ -95,21 +95,20 @@ export default { | |||||||
|       return activePath; |       return activePath; | ||||||
|     }, |     }, | ||||||
|   }, |   }, | ||||||
|  |   beforeMount() { | ||||||
|  |     window.addEventListener('resize', this.setVisibleNumber) | ||||||
|  |   }, | ||||||
|  |   beforeDestroy() { | ||||||
|  |     window.removeEventListener('resize', this.setVisibleNumber) | ||||||
|  |   }, | ||||||
|   mounted() { |   mounted() { | ||||||
|     this.setVisibleNumber(); |     this.setVisibleNumber(); | ||||||
|   }, |   }, | ||||||
|   methods: { |   methods: { | ||||||
|     // 根据宽度计算设置显示栏数 |     // 根据宽度计算设置显示栏数 | ||||||
|     setVisibleNumber() { |     setVisibleNumber() { | ||||||
|       const width = document.body.getBoundingClientRect().width - 380; |       const width = document.body.getBoundingClientRect().width / 3; | ||||||
|       const elWidth = this.$el.getBoundingClientRect().width; |       this.visibleNumber = parseInt(width / 85); | ||||||
|       const menuItemNodes = this.$el.children; |  | ||||||
|       const menuWidth = Array.from(menuItemNodes).map( |  | ||||||
|         (i) => i.getBoundingClientRect().width |  | ||||||
|       ); |  | ||||||
|       this.visibleNumber = ( |  | ||||||
|         parseInt(width - elWidth) / parseInt(menuWidth) |  | ||||||
|       ).toFixed(0); |  | ||||||
|     }, |     }, | ||||||
|     // 菜单选择事件 |     // 菜单选择事件 | ||||||
|     handleSelect(key, keyPath) { |     handleSelect(key, keyPath) { | ||||||
|   | |||||||
| @@ -3,7 +3,7 @@ | |||||||
|     <hamburger id="hamburger-container" :is-active="sidebar.opened" class="hamburger-container" @toggleClick="toggleSideBar" /> |     <hamburger id="hamburger-container" :is-active="sidebar.opened" class="hamburger-container" @toggleClick="toggleSideBar" /> | ||||||
|  |  | ||||||
|     <breadcrumb id="breadcrumb-container" class="breadcrumb-container" v-if="!topNav"/> |     <breadcrumb id="breadcrumb-container" class="breadcrumb-container" v-if="!topNav"/> | ||||||
|     <top-nav id="topmenu-container" class="breadcrumb-container" v-if="topNav"/> |     <top-nav id="topmenu-container" class="topmenu-container" v-if="topNav"/> | ||||||
|  |  | ||||||
|     <div class="right-menu"> |     <div class="right-menu"> | ||||||
|       <template v-if="device!=='mobile'"> |       <template v-if="device!=='mobile'"> | ||||||
| @@ -135,6 +135,11 @@ export default { | |||||||
|     float: left; |     float: left; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|  |   .topmenu-container { | ||||||
|  |     position: absolute; | ||||||
|  |     left: 50px; | ||||||
|  |   } | ||||||
|  |  | ||||||
|   .errLog-container { |   .errLog-container { | ||||||
|     display: inline-block; |     display: inline-block; | ||||||
|     vertical-align: top; |     vertical-align: top; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user