vue3点击当前动态增加class,其他同级不变

1.在v-for下 点击当前元素 动态变化,其他同级元素不变

vue2代码

html

        <div class="weui-mask" id="guige">
                  <div class="guigeBox">
                      <p class="guigeTitle">{{guigeName}}</p>
                      <p class="guigeP guigeP01">规格</p>
                     <div class="indexGuiGe">
                          <span v-for="value,index in guigeList" v-on:click="guige(index)"                     
                     <!-- on为样式 index为下标 当index等于点击后传进来的下标 返回为true了 就自                
                    动改变 这个样式-->
                         v-bind:class="{on:index==guigeSpan}">{{value.guige_name}}</span>
                      </div>
                      <p class="guigeP">口味</p>
                      <div class="indexKouwie">
                         <span v-for="value,index in kouweiList" v-on:click="kouwei(index)" 
                        v-bind:class="{on:index==kouweiSpan}">{{value.guige_name}}</span>
                     </div>
                 </div>
             </div>

script

var guige=new Vue({
                el: '#guige',
                data:{
                    guigeSpan:"-1",  //控制点亮状态 -1为默认不点亮
                    kouweiSpan:"-1",  //控制点亮状态
                },
            methods:{
                    guige:function(index){  //当点击时候点亮,同级的span标签删除Class
                        this.guigeSpan = index;
                    },
                    kouwei:function(index){
                        this.kouweiSpan = index;
                    },
               }
            })

vue3也差不多

            <div
            v-for="item,index in array"
            :key="item">
            <span :class="{pitch_on:index==isSelect}">
              <button
                @click="changeColor(index)"> {{ item.dictLabel }}</button>
            </span>

          </div>
const isSelect = ref(0)
const changeColor = (index:number) => {
  isSelect.value = index
}



 .pitch_on{
    background-color: orange;
    color: rgb(214, 34, 34);
    border:1px solid red;
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值