Vue学习笔记 —— 使用Vue的ref实现动态添加活动类名

Vue学习笔记 —— 使用Vue的ref实现动态添加活动类名

前言

因为习惯了写Jquery,后面改为Vue写后,慢慢琢磨,写了一个比较简单且使用的小Demo

解决思路

  1. 给v-for循环遍历出来的数据进行绑定ref属性
  2. 通过回调$event获取相关所有ref数据
  3. 全部进行设置移除活动类名
  4. 过滤数据后,通过nextTick设置活动类名

案例代码

        <div class="color_selection" style="width: 200px;height: 36px;">
          <div @click="changeSelect($event)" :data-index = "index" ref="color" style="width: 47px;height: 36px;border: 1px solid #dcdfe6;">
            <div class="color" style="width: 16px;height:16px;border: 1px solid #e6e6e6;line-height: 16px;position: absolute;left: 15px;top: 10px;"></div>
          </div>
          <div ref="color" @click="changeSelect($event)":data-index = "index" style="width: 47px;height: 36px;border: 1px solid #dcdfe6;">
    <div  class="color" style="width: 16px;height: 16px;background: #000;text-align: center;line-height: 16px;position: absolute;left: 15px;top: 10px;"></div>
          </div>
          <div @click="changeSelect($event)" :data-index ="index" ref="color" style="width: 47px;height: 36px;border: 1px solid #dcdfe6;">
    <div class="color" style="width: 16px;height: 16px;background: red;text-align: center;line-height: 16px;position: absolute;left: 15px;top: 10px;"></div>
          </div>
        </div>
    changeSelect(ev){
      var target = ev.currentTarget;
      var index = ev.currentTarget.dataset.index;
      for(var i = 0;i<this.$refs.color.length;i++){
        var data = this.$refs.color[i];
          data.setAttribute("class","color");
      }
        this.$nextTick(() => {
        console.log(this.$refs.refContent)//有结果
              target.setAttribute("class","color color_select")
         })
    },

效果

结束语

Vue学习笔记 —— 使用Vue的ref实现动态添加活动类名

  • 如果对你有帮助的话可以给我点赞收藏,十分感谢
  • 致力做学习笔记分享给大家
  • 可以转载 需标明 出处 本文链接。
  • 笔者一个开源项目:我的世界开服助手 希望大家可以点一下star

感谢你的观看。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值