elementUI中的Nav meau

在做项目中遇到一个需求,当用户处于某种状态时,点击导航菜单的某项,不能切换,并且弹出消息提示.在这里插入图片描述
例如,我在新建状态下,点击了其中一项,不能切换,并弹出消息提示,原来选中的一项没有改变。

default-active 表示默认选中的一项,无法动态实时的显示激活的那项。所以无法通过改变default-active ,设置激活项。
解决方案:
由于导航菜单的每一项都是通过key绑定的index来的,每一次点击不同的菜单,切换的是index,并且可以通过select,来获取最新选中的index,所以解决方案的核心在于,当点击菜单并且不想让菜单切换时,为当前的index赋值为undefined,当index为undefined时,无论点击哪一个,菜单都不会切换。
例如·:

        <el-menu
          :default-active="activeIndex"
          class="sectorList"
          active-text-color="#1890ff"
          @select="memberChange">
          <el-menu-item
            v-for="item in memberList"
            :key="item.id"
            :class="editNew? '':'menuItems'"
            :index="editNew?item.id.toString():(item.id.toString()===activeIndex?activeIndex:undefined)"
          >

我这里循环渲染了memberList,当我的状态editNew为true时,正常通过绑定的id渲染,当状态为false时,这里我多做了一次判断,因为当去点击原来就激活的菜单项时,原来的菜单项应该还是激活状态,只有当点击其他菜单项时,才不能切换。如果不这么做,会导致,点击原来激活的菜单项时,原来激活的菜单项不高亮显示了,变成了未激活状态。
这样就实现了这个功能需求,在某种状态下,点击菜单项不会发生切换。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值