首页 > 其他分享 >购物车页面,根据选中的商品来动态更改总价格

购物车页面,根据选中的商品来动态更改总价格

时间:2023-12-13 18:35:45浏览次数:26  
标签:totalPrice const price 购物车 item 选中 checked quantity 页面

一、前端代码

首先引入:

import { ref, computed } from ' vue '
  1. checked数组更新为响应式引用,使用ref()函数:
    • const checked = ref([])
  2. 使用v-modelchecked数组绑定到van-checkbox组件上:
    • <van-checkbox :name="item.cartID" checked-color="#ff5d4e" v-model="checked"></van-checkbox>
  3. 修改totalPrice的计算方式,只考虑选中的商品:
    • // 勾选商品,计算出合计数
      const totalPrice = computed(() => {
          // 通过筛选 shoppingData 数组,只保留 checked 数组中包含的商品项,即选中的商品项。
          const selectedItems = shoppingData.value.filter(item => checked.value.includes(item.cartID));
      
          // 使用 Array.reduce() 方法对选中的商品项进行迭代。在每次迭代中,
          // 从商品项中获取价格 (item.product.price) 和数量 (item.quantity),
          // 然后计算出该商品项的小计 (price * quantity)。
          return selectedItems.reduce((accumulator, item) => {
              const price = parseFloat(item.product.price);
              const quantity = item.quantity;
              const itemTotal = price * quantity;
              
              // 将所有商品项的小计累加到 accumulator 变量中,并将其作为计算属性 totalPrice 的返回值。
              return accumulator + itemTotal;
          }, 0);
      });
  4. 更新模板以显示更新后的totalPrice
    • 合计:<span style="color: #84301c;">¥{{ totalPrice }}</span>

二、实现效果:

 

标签:totalPrice,const,price,购物车,item,选中,checked,quantity,页面
From: https://www.cnblogs.com/fairya/p/17899668.html

相关文章

  • iframe父子页面通信相互调用传递参数多个postMessage
    效果如何运行父页面代码<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>Document</title>......
  • 页面迁移 【ChatGPT】
    https://www.kernel.org/doc/html/v6.6/mm/page_migration.html#page-migration页面迁移页面迁移允许在NUMA系统中的节点之间移动页面的物理位置,同时进程正在运行。这意味着进程看到的虚拟地址不会改变。但是,系统重新排列这些页面的物理位置。另请参阅异构内存管理(HMM),用于......
  • 空闲页面报告 【ChatGPT】
    https://www.kernel.org/doc/html/v6.6/mm/free_page_reporting.html空闲页面报告空闲页面报告是一种API,设备可以通过该API注册以接收当前系统未使用的页面列表。这在虚拟化的情况下非常有用,因为虚拟机可以利用这些数据通知hypervisor它不再使用内存中的某些页面。对于驱动程......
  • 空闲页面跟踪 (翻译 by chatgpt)
    原文:https://www.kernel.org/doc/html/latest/admin-guide/mm/idle_page_tracking.html空闲页面跟踪动机空闲页面跟踪功能允许跟踪工作负载访问的内存页面和空闲页面。这些信息对于估算工作负载的工作集大小很有用,进而可以在配置工作负载参数、设置内存cgroup限制或决定在计算......
  • radio单选按钮选中时当前页面实现跳转
    下面是一个单选的span标签:<spanstyle="width:500px;"><inputtype="radio"name="chart"value="overAll"checked="checked"/>搜狗<inputtype="radio"name="chart"value="in......
  • 【Python爬虫】爬虫框架Scrapy初使用_爬取4399游戏页面数据
    Scrapy简介Scrapy是一个用于爬取和提取数据的开源web抓取框架。它提供了一个强大的机制,让开发者可以轻松地创建和管理爬虫程序,以从网站上自动提取结构化的数据。以下是Scrapy的一些主要特点和优势:强大灵活的爬取能力:Scrapy具有高度可配置的请求处理和数据提取功能。它可以轻......
  • Python爬虫无法获取页面内容的常见原因及解决方法
     在使用Python进行网页爬取时,有时会遇到无法获取页面内容的情况。本文将探讨造成这种情况的常见原因,并提供一些解决方法,帮助您顺利进行网页内容的爬取。 当我们使用Python进行网页爬取时,有时会遇到无法获取页面内容的情况。以下是可能导致这种情况的常见原因: 1.请求错误: 在构......
  • 什么是前端 Web 应用响应式页面布局里的 Breakpoint 概念
    在Web前端开发中,响应式设计是一个非常重要的概念,它允许网页UI根据不同的设备屏幕大小进行适当的调整以优化用户体验。在这种设计中,breakpoint是一个关键的概念。我们可以把breakpoint理解为屏幕宽度的一种临界点,当屏幕宽度达到这个点时,我们会调整页面布局以适应这个新的屏幕......
  • 每月免费调用1000次API调用:实现PDF转档、页面编辑、OCR
    每月1000次免费PDFAPI调用:使用ComPDFKitAPI充分发挥您PDF转换的全部潜力 您是否在寻找无需前期投资即可提升软件集成能力的途径?再也不用找了!我们先进的API为您的项目提供所需的强大功能和易用性。注册并开始免费调用API。 我们提供每月1000次的免费API调用!通过这每月10......
  • 鸿蒙Watch 页面跳转
    新建页面config.json回自动注册添加跳转<buttontype="capsule"onclick="toStatusMonitor">状态检测</button>写跳转方法importrouterfrom'@system.router';exportdefault{data:{},onInit(){},onShow(){},......