在写博客的时候用到了elementUI中menu菜单,ios
需求:点击当前页面的按钮跳转到首页,给menu中绑定的default-active赋值element-ui
问题:页面已经跳转过去,可menu选中项根本没有发生变化bash
解决办法: 直接将当前页面的路由绑定到default-active上,同时将index改成当前路由,这样在经过非点击导航菜单跳转页面时就不须要再来手动改变导航菜单的选中项了,它会本身选中当前页面的tab项,完美解决!(其实不止element-ui有这个问题,iview也是同样的)iview
// :default-active="$route.name"
<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>
复制代码