// dishes.js
Page({
data: {
zuoxx: [{ id: 1, name: '热销菜品' }, { id: 2, name: '热菜' }, { id: 3, name: '凉菜' },{ id: 4, name: '套餐'}],
dishesList: [
// 假设每个类别下都有一些菜品
[{
id: 101,
name: '宫保鸡丁',
price: 45.0,
status: false // 假设初始状态是没有添加到购物车的
},
{
id: 104,
name: '红烧肉',
price: 58.0,
status: false
},
{
id: 105,
name: '清蒸鲈鱼',
price: 88.0,
status: false
},
{
id: 106,
name: '干锅菜花',
price: 28.0,
status: false
}],
[ {
id: 102,
name: '麻婆豆腐',
price: 38.0,
status: false
},
{
id: 103,
name: '鱼香茄子',
price: 32.0,
status: false
}],
[{
id: 107,
name: '水煮牛肉',
price: 68.0,
status: false
},
{
id: 108,
name: '辣子鸡',
price: 55.0,
status: false
}]
],
curIndex: 0, // 当前选中的类别索引
cartCount: 0, // 购物车商品数量
cartItems: [], // 购物车中的商品列表
},
onLoad: function(options) {
const title = decodeURIComponent(options.title);
const dc = title + '--xxxxx点餐';
wx.setNavigationBarTitle({
title: dc
});
setTimeout(() => {
// 完成操作
console.log("操作完成");
// 操作完成后隐藏loading
this.setData({
hidden: true
});
}, 2000); // 假设这个操作需要4秒
},
selectNav: function(e) {
const id = e.currentTarget.dataset.id;
this.setData({
curIndex: this.data.zuoxx.findIndex(item => item.id === id),
fcurNav: id
});
},
selectDish: function(event) {
let dishId = event.currentTarget.dataset.dish; // 获取点击的菜品ID
let cart = this.data.cartItems; // 获取当前购物车数据
let foundIndex = cart.findIndex(item => item.id === dishId); // 查找该菜品是否已经在购物车中
let dish = this.data.dishesList[this.data.curIndex].find(item => item.id === dishId); // 从当前类别的菜品列表中找到这道菜
if (foundIndex > -1) {
// 如果找到了,说明这道菜已经在购物车里,我们将其移除
cart.splice(foundIndex, 1); // 移除操作
dish.status = false; // 更新菜品状态为未选中
} else {
// 如果没有找到,说明这道菜不在购物车里,我们将其添加
cart.push(dish); // 添加到购物车
dish.status = true; // 更新菜品状态为已选中
}
// 更新购物车数据和总数
this.setData({
cartItems: cart,
cartCount: cart.length // 使用正确的属性名更新购物车数量
});
// 更新菜品的状态
this.setstatus(dishId, foundIndex > -1); // 传递是否之前已选中的状态
},
setstatus: function(dishId, selected) {
let dishList = this.data.dishesList[this.data.curIndex]; // 获取当前类别的菜品列表
let dishIndex = dishList.findIndex(item => item.id === dishId); // 找到菜品的索引
if (dishIndex !== -1) {
let dish = dishList[dishIndex];
dish.status = !selected; // 切换状态
this.setData({
[`dishesList[${this.data.curIndex}][${dishIndex}].status`]: dish.status
});
}
}
});
没有合适的资源?快使用搜索试试~ 我知道了~
微信小程序-点餐小程序
共21个文件
jpg:7个
json:5个
js:4个
需积分: 5 0 下载量 185 浏览量
2024-09-14
08:15:47
上传
评论
收藏 290KB RAR 举报
温馨提示
微信小程序-点餐小程序
资源推荐
资源详情
资源评论
收起资源包目录
demo5.rar (21个子文件)
demo5
project.private.config.json 759B
pages
index
index.wxml 414B
index.js 411B
index.json 2B
index.wxss 293B
dishes
dishes.js 4KB
dishes.wxml 1022B
dishes.wxss 1KB
dishes.json 31B
app.json 258B
project.config.json 1KB
app.js 1KB
utils
util.js 472B
app.wxss 195B
images
2.jpg 86KB
1.jpg 37KB
效果图.jpg 45KB
效果图2.jpg 22KB
效果图4.jpg 21KB
3.jpg 79KB
效果图3.jpg 20KB
共 21 条
- 1
资源评论
不知名小君
- 粉丝: 122
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 在线云音乐-java-基于SSM在线云音乐系统的设计与实现(毕业论文+ppt)
- Beyond-Compare安装包
- 车牌检测-基于YOLOv5实现的车牌检测算法-附项目源码-优质项目实战.zip
- 绿色农产品推广-java-基于SSM绿色农产品推广应用网站设计与实现(毕业论文)
- PyTorch 中的 YOLOv5.rar
- 实现中心-java-基于SSM安徽新华学院实验中心管理系统的设计与实现(毕业论文+开题)
- 车牌检测-基于Pytorch+YOLOv8实现的车牌检测算法-附项目源码+流程教程-优质项目实战.zip
- 菜匣子优选系统-java-基于SSM的菜匣子优选系统设计与实现(毕业论文)
- ChromeSetup.exe
- 大模型之三十二-语音合成TTS(coqui)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功