2021-06-16 vue3中使用 watch 全选反选

全选反选 vue3中使用watch监听事件,进行反选

vue3 中使用监听属性,进行反选

// 标记全选是否勾中的数据
    let check = ref(false)

// 监听数据变化 watch 第一个参数是要监听的数据 第二个数据变化后的回调函数 ,第三个是配置项
    // 如果监听的是ref数据则可以直接监听 但是如果兼容一个reactive数据变化则要用一个函数返回监听的数据
    watch(() => state.cars, (to, from) => {
      // console.log(to);     // to是所有的数据
      let flag = false
      to.forEach(item => {    // 循环遍历所有的元素
        if(!item.check) {     // 没有被选中的商品,进入循环
          flag = true  // flag是true表示至少有一个商品未被选中
        }
      })
      if(flag) {      // 如果有一个商品没有被选中,就进入循环
        check.value = false   // 全选按钮不选中
      } else {      // 否则的话
        check.value = true    // 选中全选按钮
      }
    }, {
      deep:true // 深度监听
    })
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值