美文网首页
购物车商品选择处理

购物车商品选择处理

作者: 弹指一挥间_e5a3 | 来源:发表于2019-05-19 22:04 被阅读0次

今天我们要实现的效果是商品购物车的选择效果。


image.png

数据分为两级,第一级是店铺shop,第二级是店铺下面的商品good。
主要有三点:
1.不选择商品时,商品会被取消掉


image.png

2.不选择店铺时,店铺的所有商品都被取消掉


image.png
3.不选择全选时,所有商品都被取消掉
image.png

现在用代码来实现:
由于给的接口api没有checked,所以我们在获取数据的时候自己加上checked属性。需注意的是要先添加属性,再把数据赋值。

    getList() {
      axios.get(url.cartLists).then(res=>{
        let lists = res.data.cartList
         lists.forEach(shop=>{
           shop.checked = true
          shop.goodsList.forEach(good=>{
            good.checked = true
          })
        })
        this.lists = lists
      })
    }

这样数据api中就有了checked属性。接下来就好操作了。
1.商品
①动态绑定class<span class="check" :class="{checked:shop.checked}">
②绑定点击事件<div class="select-group js-select-group" @click="selectShop(shop)">

    selectGood(shop,good) {
      good.checked = !good.checked
      shop.checked = shop.goodsList.every(good =>{
        return good.checked
      })

2.店铺
前两步同上

    selectShop(shop) {
      shop.checked = !shop.checked
      shop.goodsList.forEach(good => {
        good.checked = shop.checked
      })
    }

3.全选
前两步同上,不过这里class绑定的是computed:allSelected

    allSelected: {
      get() {
        if(this.lists&&this.lists.length) {
          return this.lists.every(shop => {
            return shop.checked 
          })
        }
        return false
      },
      set(newVal) {
        this.lists.forEach(shop =>{
          shop.checked =newVal
          shop.goodsList.forEach(good =>{
            good.checked = newVal
          })
        })
      }
    }

点击事件:

    selectAll() {
      this.allSelected = !this.allSelected
    }

相关文章

  • 购物车商品选择处理

    今天我们要实现的效果是商品购物车的选择效果。 数据分为两级,第一级是店铺shop,第二级是店铺下面的商品good。...

  • 商城类App技术

    购物车 商品增删处理 设置广播事件。添加商品-》发送广播-》处理广播 设置接口。添加商品-》触发接口 使用观察者模...

  • Vue + Vuex 实现购物车2

    上篇完成了商品从详情页添加到购物车界面的逻辑,现在在购物车界面已经可以拿到购物车里的商品列表,现在要处理在购物车界...

  • 购物车可选择商品支付,功能设计

    老系统中购物车内所有商品只能全部结算,现在需要购物车内商品可选择结算,需求如下 需求描述 增加选择结算功能 点击提...

  • eShopOnContainers 知多少[7]:Basket

    引言 Basket microservice(购物车微服务)主要用于处理购物车的业务逻辑,包括: 购物车商品的CR...

  • jmeter如何采用json提取器提取多个值

    业务场景:在电商系统中多个商品加入购物车后,需要选择购物车中的商品进行购买,在订单结算页面需要用到购物车中的商品数...

  • 冒泡的几个问题

    购物车问题 购物车与商品列表之间的切换,如何处理之间的冒泡问题。e.fromElement,e.relatedTa...

  • Vue + Vuex 实现购物车

    功能点拆分 在商品详情页点击添加购物车按钮,对应商品将传到购物车页面 购物车页面顶部商品数量展示 购物车页面商品列...

  • 4.1、购物车系统

    购物车系统 启动程序后,让用户输入工资,然后打印商品列表 允许用户根据商品编号购买商品 用户选择商品后,检测余额是...

  • 8.购物车管理

    购物车管理模块是属于用户侧模块,主要有7个接口:添加商品到购物车、更新购物车商品数、移除购物车商品、查看购物车当中...

网友评论

      本文标题:购物车商品选择处理

      本文链接:https://www.haomeiwen.com/subject/qgcczqtx.html