element中el-menu的动态变化问题

<el-menu :default-active="activeIndex" class="el-menu-demo" mode="horizontal" @select="handleSelect">
 <el-menu-item index="1">处理中心</el-menu-item>
 <el-submenu index="2">
 <template slot="title">我的工作台</template>
 <el-menu-item index="2-1">选项1</el-menu-item>
 <el-menu-item index="2-2">选项2</el-menu-item>
 <el-menu-item index="2-3">选项3</el-menu-item>
 <el-submenu index="2-4">
  <template slot="title">选项4</template>
  <el-menu-item index="2-4-1">选项1</el-menu-item>
  <el-menu-item index="2-4-2">选项2</el-menu-item>
  <el-menu-item index="2-4-3">选项3</el-menu-item>
 </el-submenu>
 </el-submenu>
 <el-menu-item index="3" disabled>消息中心</el-menu-item>
 <el-menu-item index="4"><a href="https://www.ele.me" rel="external nofollow" target="_blank">订单管理</a></el-menu-item>
</el-menu>
 
<script>
 export default {
	 data() {
		  return {
			  activeIndex: '1'
		  };
	 },
	 methods: {
	  handleSelect(key, keyPath) {
		  console.log(key, keyPath);
	  }
	 }
 }
</script>

注意属性:

default-active:当前激活菜单的 index

router:是否使用 vue-router 的模式,启用该模式会在激活导航时以 index 作为 path 进行路由跳转

index:唯一标志,,类型为字符串,在每一个el-menu-item组件上都有一个编号,给default-active标记

使用菜单栏进行路由跳转:

<el-menu :default-active="$router.path" router mode="horizontal">
	 <el-menu-item v-for="(item,i) in navList" :key="i" :index="item.name">
	  {{ item.navItem }}
	 </el-menu-item>
</el-menu>

数据:

data() {
	  return {
		  navList:[
			   {name:'/findProject',navItem:'发现项目'},
			   {name:'/communityActivity',navItem:'社区动态'},
			   {name:'/publishProject',navItem:'发布项目'},
			   {name:'/personalCenter',navItem:'个人中心'},
			   {name:'/manageCenter',navItem:'管理员中心'},
		  ]
	  }
 }

router.js

配置路由

使用菜单栏进行路由跳转有几个注意点:

  1. 在el-menu加上router

  2. index必须绑定路由的path,参考上面的例子,’/'不能少

  3. default-active设为当前路由(this.$route.path),这样在路由变化的时候,对应的menu-item才会高亮

当this.$route.path等于el-menu-item标签中的index属性值时则该item为当前项,对应的menu-item才会高亮。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值