微信小程序购物车添加功能
时间: 2023-09-02 11:13:19 浏览: 238
要在微信小程序中实现购物车添加功能,一般需要以下步骤:
1. 创建一个购物车页面,用于展示用户已选中的商品列表和价格总计。
2. 在商品列表页面中,添加一个“加入购物车”按钮。
3. 当用户点击“加入购物车”按钮时,将商品信息加入到本地存储中的购物车数据中。购物车数据可以是一个数组,每个元素代表一个已选中的商品,包含商品的名称、价格、数量等信息。
4. 在购物车页面中,读取本地存储中的购物车数据,并展示给用户。
5. 提供删除购物车商品和修改商品数量等功能。
以下是一个简单的示例代码:
1. 购物车页面(cart.js):
```js
Page({
data: {
cartList: [],
totalPrice: 0
},
onLoad: function() {
// 从本地存储中读取购物车数据,并计算总价
let cartList = wx.getStorageSync('cartList') || [];
let totalPrice = 0;
cartList.forEach(item => {
totalPrice += item.price * item.quantity;
});
this.setData({
cartList,
totalPrice
});
},
deleteItem: function(e) {
// 根据商品的索引,从购物车数据中删除商品
let index = e.currentTarget.dataset.index;
let cartList = this.data.cartList;
cartList.splice(index, 1);
wx.setStorageSync('cartList', cartList);
// 更新购物车页面数据
let totalPrice = 0;
cartList.forEach(item => {
totalPrice += item.price * item.quantity;
});
this.setData({
cartList,
totalPrice
});
},
changeQuantity: function(e) {
// 根据商品的索引,修改购物车数据中商品的数量
let index = e.currentTarget.dataset.index;
let quantity = e.detail.value;
let cartList = this.data.cartList;
cartList[index].quantity = quantity;
wx.setStorageSync('cartList', cartList);
// 更新购物车页面数据
let totalPrice = 0;
cartList.forEach(item => {
totalPrice += item.price * item.quantity;
});
this.setData({
cartList,
totalPrice
});
}
})
```
2. 商品列表页面(productList.js):
```js
Page({
data: {
productList: [
{id: 1, name: '商品1', price: 100},
{id: 2, name: '商品2', price: 200},
{id: 3, name: '商品3', price: 300}
]
},
addToCart: function(e) {
// 根据商品的索引,将商品信息加入到购物车数据中
let index = e.currentTarget.dataset.index;
let product = this.data.productList[index];
let cartList = wx.getStorageSync('cartList') || [];
let item = cartList.find(item => item.id === product.id);
if (item) {
item.quantity += 1;
} else {
cartList.push({
id: product.id,
name: product.name,
price: product.price,
quantity: 1
});
}
wx.setStorageSync('cartList', cartList);
wx.showToast({
title: '已加入购物车',
icon: 'success',
duration: 1000
});
}
})
```
在商品列表页面中,使用 `data` 中的 `productList` 数组展示商品列表,使用 `addToCart` 方法将商品信息加入到购物车数据中。在购物车页面中,使用 `data` 中的 `cartList` 数组展示购物车中的商品列表,使用 `deleteItem` 方法删除购物车中的商品,使用 `changeQuantity` 方法修改购物车中商品的数量。购物车数据使用本地存储实现,并且在购物车页面的 `onLoad` 方法中读取本地存储中的购物车数据,并计算总价展示给用户。
阅读全文