【常见】点击侧边栏导航 顶部标签内小圆点高亮

准备: activeIndex变量名字符串 , activeArray变量名 数组

思路一.: 首先拿到侧边导航点击事件函数和每一项的下标 触发函数后向 数组activeArray内push点击侧边栏导航获取到的索引 , 就是把点击后的索引添加到数组内, 然后在把 activeArray 数组内末尾项赋值给 activeIndex 变量, 然后template :class:{active: 条件},这里的条件是 当activeArray内的每一项 于 activeIndex 相等时就执行成功。

上面思路完成后还有BUG就是 重复值也添加到数组内

思路二.判断点击侧边导航后的得到下标 不存在数组内执行

上面只打理了 点击的下标不存在,那么存在呢

思路三.存在就 使用find将数组内和下标相等的索引返回,并赋值this.activeIndex
 

我感觉对于后面条件判断自己还是有点懵,飞机搞多了 脑子哎! 切记哈切记

<template>    
<div>
 <el-menu  
  :default-active="activeIndex"          
    @select="handleSelect">
  <el-menu>

 <!-- 小圆点 -->
 <span  :class="{ active: activeIndex == activeArray[index] }"></span>
</div>
</template>   

  data () { 
    return {
     activeIndex: null,
      activeArray: ['1'],
  } }

methods{

    handleSelect (index) {
     if (!this.activeArray.some(item => item == index)) {
        this.activeArray.push(index)
        this.activeIndex = this.activeArray[this.activeArray.length - 1]
      } else {
        this.activeIndex = this.activeArray.find(item => item === index)
      }
    }

  }       


<style lang="scss" scoped>
.active{
  background-color: #5fb878;
 }
</style>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值