<template>
|
<div class="avue-sidebar">
|
<logo />
|
<el-scrollbar style="height:100%">
|
<div v-if="validatenull(menu)" class="avue-sidebar--tip">没有发现菜单</div>
|
<el-menu :default-active="nowTagValue" :show-timeout="200" :collapse="keyCollapse" unique-opened mode="vertical">
|
<sidebar-item :menu="filterMenu" :screen="screen" :props="website.menu.props" :collapse="keyCollapse" first />
|
</el-menu>
|
</el-scrollbar>
|
</div>
|
</template>
|
|
<script>
|
import { mapGetters } from 'vuex'
|
import logo from '../logo'
|
import sidebarItem from './sidebarItem'
|
export default {
|
name: 'Sidebar',
|
data(){
|
return {
|
collapse: false
|
}
|
},
|
inject: ["Index"],
|
components: { sidebarItem, logo },
|
created() {
|
this.Index.openMenu(this.menuId);
|
// console.log(window.innerWidth);
|
// if(window.innerWidth <= 768){
|
// this.collapse = true
|
// this.$store.commit('SET_COLLAPSE')
|
// }
|
},
|
// watch:{
|
// 'window.innerWidth':{
|
// handler(newVal){
|
// console.log(newVal);
|
// },
|
// deep: true
|
// }
|
// },
|
computed: {
|
...mapGetters(['website', 'menu', 'tag', 'keyCollapse', 'screen']),
|
filterMenu: function(){
|
return this.menu.filter(ele=>{
|
return ele.children.length > 0
|
})
|
},
|
nowTagValue: function () {
|
return this.$router.$avueRouter.getValue(this.$route)
|
}
|
},
|
}
|
</script>
|