Android仿饿了么加减控件,小程序仿饿了么弹窗式购物车

这篇博客详细介绍了如何在Android应用中仿制饿了么的加减控件和购物车弹窗功能。包括切换分类、数量加减、购物车动画以及购物车弹窗自适应商品数量的实现步骤和代码示例。通过点击事件动态更新商品数量,并展示了购物车动画的开启与关闭效果。同时,讨论了购物车高度自适应的实现,解决了在弹窗显示过程中可能出现的问题。
摘要由CSDN通过智能技术生成

效果图

4ef6ffdb02a146e4007f093133d502aa.gif

包含以下模块

选购页实现切换分类与数量加减

购物车动画与同步数量加减

购物车弹窗自适应商品条数

一、 点击分类项,切换右边的食品,并高亮自身

这个实现比较简单,给一个states数组,用于记录每一项分类的状态,点击设为true,wxml渲染时三目运算判断即可。

categoryStates = categoryStates.map(function (item, i) {

if (index == i) {

item = true;

} else {

item = false;

}

return item;

});

相应的wxml文件,class="{ {categoryStates[index] ? 'category-item-active' : ''}}"

二、 加减按钮

初始只有一个加号

点击加号后,相应商品数量+1,并出现减号

减至0时,减号消失,连同数量值

设计数组结构

cartData: {},它的键是Food表的objectId,值是数量。

以下是js代码实现

add: function (e) {

// 所点商品id

var foodId = e.currentTarget.dataset.foodId;

console.log(foodId);

// 读取目前购物车数据

var cartData = that.data.cartData;

// 获取当前商品数量

var foodCount = cartData[foodId] ? cartData[foodId] : 0;

// 自增1后存回

cartData[foodId] = ++foodCount;

// 设值到data数据中

that.setData({

cartData: cartData

});

}

在wxml文件中绑定数据如下

-

{ {cartData[item.objectId]}}

+

上述代码中,通过wx:i

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值