码农网是专业服务站长和IDC商的信息平台,欢迎你浏览!

vue商城统计选中数量及计算价格案例

时间:2025-01-18 15:30:34 阅读:2983次 来源:互联网

我们在日常开发的过程中,难免会遇到客户需要开发商城的项目,在该项目中,购物车列表中的计算所选商品的价格及所选数量尤其是重中之重,以下demo可以进行参考

<template>
	<view class="out">
		<checkbox-group name="" @change="selectPrice">
			<view class="item" v-for="(item,index) in goods" :key="item.id">
				<checkbox :value="item.id"></checkbox>
				<text class="title">{{item.name}}</text>
				<text class="price">{{item.price}}元</text>
				<text class="del">删除</text>
			</view>
		</checkbox-group>
		<view class="totalPrice">
			共选了{{totalNum}}件  价格:{{totalPrice}}元
		</view>
		<view>{{selectGroup}}</view>
		<view>{{goods}}</view>
	</view>
</template>

下面的方法为js的写法

<script setup>
	import {computed, ref} from "vue";
	const goods = ref([
		{id:"11",name:"手机",price:3369,checked:false},
		{id:"12",name:"电脑",price:6985,checked:false},
		{id:"13",name:"打印机",price:1569,checked:false},
		{id:"14",name:"照相机",price:36256,checked:false},
	])
	const selectGroup = ref([])
	const totalNum = computed(()=>{
		return selectGroup.value.length
	})
	function selectPrice(e){
		selectGroup.value = e.detail.value
		goods.value.forEach(item=>{
			item.checked = selectGroup.value.includes(item.id)
		});
	}
	const totalPrice = computed(()=> goods.value.filter(item=>item.checked).
	        reduce((prev,curr)=>prev+curr.price,0))
</script>


本文地址:https://www.manongw.com/article/504.html

文章来源:码农网

版权申明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 ezhongheng@126.com 举报,一经查实,本站将立刻删除。