Vue3(1):可读写Computed实现多选全选

实现

前端日子看 Vue3 得 api 得时候发现 computed 已经是可读写的了

Vue3的computed

然后最近写 Vue3 要实现一个 多全选 , 突然想起 computed

页面

 <van-checkbox-group icon-size="18" v-model="selectArr">
     <div v-for="(item, index) in cardList" :key="index" class="main_card">
          <div class="card_content">
            <div>
              <van-checkbox :name="item.id">{{ item.name }}</van-checkbox>
            </div>
          </div>
      </div>
 </van-checkbox-group>
 <div>
     <van-checkbox v-model="selectAll">全選</van-checkbox>
 </div>

js

import {reactive, ref, computed,} from "vue";
const cardList = reactive([
    {
       id: 1,
       name: "蘋果",
    },
    {
       id: 2,
       name: "梨子",
    },
 ]);
const selectArr = ref([]); 
// computed
const selectAll = computed({
      set(val) {
        if (val) {
          let selectArrs = [];
          for (let i of cardList) {
            selectArrs.push(i.id);
          }
          selectArr.value = selectArrs;
        } else {
          selectArr.value = [];
        }
      },
      get(val) {
        return selectArr.value.length === cardList.length;
      },
});

练习

另外最近发现一个可以对 Vue3api练习的网站

Vue3挑战

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值