这是父组件的代码
<el-menu :default-active='$route.path'
class="el-menu-vertical-demo"
background-color="#304156"
text-color="#fff"
collapse-transition=true
:collapse="isCollapse"
active-text-color="#409eff"
align = 'laft'
show-timeout = '0'
hide-timeout='0'
router="true"
@select="handleSelect"
@open='aa'
>
<menutree :data="getpowertree"></menutree>
</el-menu>
这是子组件
<template>
<div class="menutree">
<label v-for="menu in data" :key="menu.id">
<el-submenu :index="menu.powerPath" v-if="menu.childs">
<template slot="title">
<i class="el-icon-s-home"></i>
<span>{{menu.powerName}}</span>
</template>
<label>
<menutree :data="menu.childs"></menutree>
</label>
</el-submenu>
<el-menu-item v-else :index="menu.powerPath">
<i class="el-icon-s-home"></i>
<span slot="title">{{menu.powerName}}</span>
</el-menu-item>
</label>
</div>
</template>
<script>
export default {
name: 'menutree',
data () {
return {
menu_data: {}
}
},
props: ['data']
}
</script>
一刷新下拉菜单就合起来了
可以在每次选择的时候保存一次当前的menu 页面刷新的时候将当前menu设置为default-active
你的:default-active='$route.path'中$route.path和的menu.powerPath" 的值对比一下,建议这里的index用数字比较好点