需求:点击当前页面的按钮跳转到首页,给menu中绑定的default-active赋值
问题:页面已经跳转过去,可menu选中项根本没有发生变化
解决办法: 直接将当前页面的路由绑定到default-active上,同时将index改为当前路由,这样在通过非点击导航菜单跳转页面时就不需要再来手动改变导航菜单的选中项了,它会自己选中当前页面的tab项,完美解决!
说明:router属性很重要,default-active="this.$route.path"也很重要。
<el-menu
:router="true"
:default-active="$route.name"
class="el-menu-demo"
mode="horizontal"
@select="select"
background-color="#545c64"
text-color="#fff"
active-text-color="#ffd04b">
<el-menu-item :route="{name: 'home'}" index="home">
<template slot="title">
<Icon type="ios-home"></Icon>
<span>首页</span>
</template>
</el-menu-item>
<el-menu-item :route="{name: 'article'}" index="article">
<template slot="title">
<i class="el-icon-location"></i>
<span>文章</span>
</template>
</el-menu-item>
<el-menu-item :route="{name: 'time'}" index="time">
<template slot="title">
<i class="el-icon-location"></i>
<span>时间轴</span>
</template>
</el-menu-item>
<el-menu-item :route="{name: 'photo'}" index="photo">
<template slot="title">
<i class="el-icon-location"></i>
<span>生活照</span>
</template>
</el-menu-item>
<el-menu-item :route="{name: 'footprint'}" index="footprint">
<template slot="title">
<i class="el-icon-location"></i>
<span>足迹</span>
</template>
</el-menu-item>
<el-menu-item :route="{name: 'aboutme'}" index="aboutme">
<template slot="title">
<i class="el-icon-location"></i>
<span>关于我</span>
</template>
</el-menu-item>
<el-menu-item :route="{name: 'message'}" index="message">
<template slot="title">
<i class="el-icon-location"></i>
<span>留言板</span>
</template>
</el-menu-item>
<el-menu-item :route="{name: 'manage'}" index="manage">
<template slot="title">
<i class="el-icon-location"></i>
<span>后台管理</span>
</template>
</el-menu-item>
</el-menu>
到此这篇关于elementUI中MENU菜单踩坑的文章就介绍到这了,更多相关elementUI MENU菜单内容请搜索易知道(ezd.cc)以前的文章或继续浏览下面的相关文章希望大家以后多多支持易知道(ezd.cc)!