// 勾选商品,计算出合计数
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);
});