NavMenu 阻止事件冒泡

 

当我点击首页的按钮时绝对定位到左上角,点击页面其他位置是关闭菜单

但当我点击了菜单上的选项时,菜单也会触发到关闭菜单的事件

<template>
  <!--在此处添加渲染的内容-->
  <div @click="intercept($event)">
    <el-menu
      default-active="2"
      class="el-menu-vertical-demo"
      @open="handleOpen"
      @close="handleClose"
      @select="handleSelect"
      :unique-opened="true"
      menu-trigger="click"
      background-color="#22262d"
      text-color="#cccccc"
      active-text-color="#ffffff">
      <el-submenu :index="item.id" v-for="(item,index,key) in navList" :key="key">
        <template slot="title" v-if="index!=0||index!=3">
          <span>{{item.firstLevelTitle}}</span>
        </template>
        <el-menu-item :index="nextitem.name" v-for="(nextitem,nextindex,nextkey) in item.nextLevel"
                      :key="nextkey">{{nextitem.title}}
        </el-menu-item>
      </el-submenu>
    </el-menu>
  </div>
</template>

解决方法是给菜单最外层div设置点击事件

intercept(e){
   e.stopImmediatePropagation();
},

使用stopImmediatePropagation()阻止事件触发到关闭菜单的事件

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值