更新依赖和版本

Former-commit-id: 5072ec87feb8745621004a198310faee62e6281c [formerly 6881bd1e425d95d98ebb2b2ed44175fe9e98d5f2] [formerly 5072ec87feb8745621004a198310faee62e6281c [formerly 6881bd1e425d95d98ebb2b2ed44175fe9e98d5f2] [formerly 5072ec87feb8745621004a198310faee62e6281c [formerly 6881bd1e425d95d98ebb2b2ed44175fe9e98d5f2] [formerly 6881bd1e425d95d98ebb2b2ed44175fe9e98d5f2 [formerly c3846e5df93218e15f02a646518880e6fa6cb0f9 [formerly 3bd4f9d9418df3df44f368bb2ae32652c69c013f]]]]]
Former-commit-id: bd93fcb5e4675bbf18fd417d5288245f6088b538
Former-commit-id: 12ad7aefef66bd20c5d0d6224cdfa283142cbefc
Former-commit-id: 0f4dee0a6517e1f77af70100ba450ae8f988307a [formerly 4d96d09f6d76a67c4fc4386efe6f51c1707f9d99]
Former-commit-id: edb1f8cd9ce546d41873b5601fbe390fc7f43521
Former-commit-id: af996ea474ed1ae6d51068dcccbdc3cc29cea56d
Former-commit-id: efb029f9cf3e2c9dcff8d48e4c53334d8b353fc7
Former-commit-id: 6f5b77ea91dc0259a6610cc9d3aa77f8e9724fcd
Former-commit-id: e83e0ac4a63e9c6f5e7c6ccd66909badea6ae8ef
This commit is contained in:
FairyEver
2019-08-04 15:36:25 +08:00
parent 6fe6a1e9ec
commit 35441ffd44
8 changed files with 63 additions and 139 deletions

View File

@@ -0,0 +1,88 @@
import { mapState } from 'vuex'
import menuMixin from '../mixin/menu'
import { elMenuItem, elSubmenu } from '../libs/util.menu'
import BScroll from 'better-scroll'
export default {
name: 'd2-layout-header-aside-menu-side',
mixins: [
menuMixin
],
render (createElement) {
return createElement('div', { attrs: { class: 'd2-layout-header-aside-menu-side' } }, [
createElement('el-menu', {
props: { collapse: this.asideCollapse, uniqueOpened: true, defaultActive: this.active },
ref: 'menu',
on: { select: this.handleMenuSelect }
}, this.aside.map(menu => (menu.children === undefined ? elMenuItem : elSubmenu).call(this, createElement, menu))),
...this.aside.length === 0 && !this.asideCollapse ? [
createElement('div', { attrs: { class: 'd2-layout-header-aside-menu-empty', flex: 'dir:top main:center cross:center' } }, [
createElement('d2-icon', { props: { name: 'inbox' } }),
createElement('span', {}, this.$t('layout.header-aside.menu-side.empty'))
])
] : []
])
},
data () {
return {
active: '',
asideHeight: 300,
BS: null
}
},
computed: {
...mapState('d2admin/menu', [
'aside',
'asideCollapse'
])
},
watch: {
// 折叠和展开菜单的时候销毁 better scroll
asideCollapse (val) {
this.scrollDestroy()
setTimeout(() => {
this.scrollInit()
}, 500)
},
// 监听路由 控制侧边栏激活状态
'$route': {
handler ({ fullPath }) {
this.active = fullPath
this.$nextTick(() => {
if (this.aside.length > 0 && this.$refs.menu) {
this.$refs.menu.activeIndex = fullPath
}
})
},
immediate: true
}
},
mounted () {
this.scrollInit()
},
beforeDestroy () {
this.scrollDestroy()
},
methods: {
scrollInit () {
this.BS = new BScroll(this.$el, {
mouseWheel: true,
click: true
// 如果你愿意可以打开显示滚动条
// scrollbar: {
// fade: true,
// interactive: false
// }
})
},
scrollDestroy () {
// https://github.com/d2-projects/d2-admin/issues/75
try {
this.BS.destroy()
} catch (e) {
delete this.BS
this.BS = null
}
}
}
}