vue--点击当前增加class,其他删除class

本文介绍如何使用Vue.js实现列表项的单选效果,通过@click事件监听和v-bind动态绑定class样式来改变被选中项的显示样式,并利用data属性记录各列表项的状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


<template>
  <div>
    <p
      v-for="(item,key,index) in datas"
      :key="index"
      @:click="singleCheck(item,index)"
      v-bind:class="{'checked-classs':item.checked}"
    >{{item.data}}</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      datas: {
        data1: {
          data: "测试1",
          checked: true
        },
        data2: {
          data: "测试2",
          checked: false
        },
        data3: {
          data: "测试3",
          checked: 测试2
        }
      }
    };
  },
  methods: {
    singleCheck(item, index) {
      if (item.checked) {
        return;
      }
      this.datas.forEach(t => (t.checked = false));
      item.checked = true;
      this.datas.splice(index, 1, item);
    }
  }
};
</script>
<style scoped>
.checked-classs {
  color: red;
}
</style>

 

 

 

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值