当前位置: 首页 > news >正文

使用computed计算属性实现购物车勾选

原理

在 Vue 3 中,computed 属性默认是只读的,但你可以通过提供 set 方法来使它可写。这样,当计算属性的值被修改时,可以触发相应的逻辑来更新相关的数据。

效果示意

在这里插入图片描述

说明

  1. get 方法:用于获取计算属性的值。
  2. set 方法:用于设置计算属性的值。当计算属性的值被修改时,set 方法会被触发。
<template>
  <div style="padding-left: 40px;">
    <ul>
      <li v-for="(item, index) in goodsList" :key="index">
        <el-checkbox v-model="item.isChecked" :label="item.name" size="large" />
        &nbsp;
        <span>{{ item.sum }}</span>
      </li>
    </ul>
    <el-checkbox v-model="isAllChecked" label="全选" size="large" />
      &nbsp;
      <span>{{ total }}</span>
  </div>
</template>

<script setup lang="ts">
import { computed, reactive } from 'vue';

const goodsList = reactive([
  { name: 'xxx', isChecked: false, sum: 24 },
  { name: 'jjj', isChecked: false, sum: 56 },
  { name: 'vvv', isChecked: false, sum: 12 },
]);

const isAllChecked = computed({
  get() {
    return goodsList.every(item => item.isChecked)
  },
  set(val) {
    goodsList.forEach(item => item.isChecked = val)
  }
});

const total = computed(() => {
  return goodsList.reduce((sum, item) => sum + (item.isChecked ? item.sum : 0), 0);
});
</script>

相关文章:

  • 【leetcode hot 100 105】从前序与中序遍历序列构造二叉树
  • 【从零开始】Air780EPM的LuatOS二次开发——OneWire协议调试注意事项!
  • C++之list类及模拟实现
  • 《C#上位机开发从门外到门内》3-5:基于FastAPI的Web上位机系统
  • 【NLP】 1. 文本在计算机里的表示: One-Hot, sparse vector, bag of words
  • MCU的应用场景:从智能家居到工业控制
  • 【Go】无法访问 proxy.golang.org 进行依赖下载
  • spring bean的生命周期和循环依赖
  • 量子信息理论入门:探索量子世界的奇妙信息处理方式
  • .gitignore 文件用于 Git 应忽略的文件夹的格式
  • 详细讲一下 Webpack 主要生命周期钩子流程(重难点)
  • SpringBoot美发门店管理系统开发与设计
  • 网页制作18-Javascipt图像特效の图片闪烁
  • MySQL 横向衍生表(Lateral Derived Tables)
  • element ui设置结束时间为23:59:59
  • VSTO(C#)Excel开发12:多线程的诡异
  • DLMS电能表通讯协议学习笔记
  • 蓝桥杯 第五天 2021 国赛 第 5 题 最小权值
  • Secs/Gem第一讲 · 总结精华版(基于secs4net项目的ChatGpt介绍)
  • 芯谷D6211B:IP摄像头IR滤波器开关驱动的理想选择
  • 美商界报告:全美超86万岗位依赖对华出口,关税将重创美国出口商
  • 小核酸药物企业瑞博生物递表港交所,去年亏损2.81亿元
  • 滨江集团:一季度营收225.07亿元,净利润9.75亿元
  • 中方拟解除对5名欧洲议会议员制裁?外交部:望中欧立法机构相向而行
  • 五一去哪儿| 追着花期去旅行,“赏花经济”绽放文旅新活力
  • 海口市政协党组成员、秘书长、机关党组书记汪娟被查