vue+vant-UI框架实现购物车的复选框全选和反选功能


Posted in Javascript onNovember 05, 2019

购物车页面的设计图

vue+vant-UI框架实现购物车的复选框全选和反选功能

商品的列表

vue+vant-UI框架实现购物车的复选框全选和反选功能

代码:

<ul v-if="shoppingListData.rows.length">
<li
v-for="(item,index) in shoppingListData.rows"
:key="index"
>
<van-checkbox
:value="item.goods_id"
v-model="item.isChecked"
checked-color="#07c160"
@click="chooseChange(item.goods_id)"
></van-checkbox>
<div class="list_details">
<div class="shop_img"><img
:src="item.goods_image+'?w=150&h=150&crop=1'"
alt=""
></div>
<div class="goods_presentation">
<div class="pTitle"><p class="p1">{{item.goods_name}}</p></div>
<!-- <p class="p2">{{item.color}}</p> -->
<div class="price">
<span class="spanSprice">{{item.now_price | formatMoney}}</span>
<span class="span_step">
<button
@click="handleReduce(index)"
:disabled="item.goods_qty===1"
>-</button>
<i>{{item.goods_qty}}</i>
<button @click="handleAdd(index)">+</button>
</span>
</div>
</div>
</div>
</li>
</ul>

全选的复选框

vue+vant-UI框架实现购物车的复选框全选和反选功能

全选的代码:

<div class="footerflex">
     <van-checkbox
      v-model="AllChecked"
      @click="checkAll"
     >全选</van-checkbox>
     <span 
     class="management" 
     v-if="managementShow"
     @click="management()"
     >管理</span>
     <span 
     class="finish"
     v-if="finishShow"
     @click="management()"
     >完成</span>
     <van-button type="default" class='delete' @click="sureDel()" v-if="finishShow">删除</van-button>
     <div v-if="managementShow">
      <span class="summation">合计</span>
      <i>{{ totalPrice }}</i>
      <van-button type="default" class="pay" @click="closeAnAccount()">结算</van-button>
     </div>
    </div>

单选的change事件

vue+vant-UI框架实现购物车的复选框全选和反选功能

代码:

// 单选的change事件
  chooseChange(id) {
   if (this.selectedData.indexOf(id) > -1) {
    this.remove(this.selectedData, id);
   } else {
    this.selectedData.push(id);
   }
   if (this.selectedData.length < this.shoppingListData.total) {
    this.AllChecked = false;
   } else {
    this.AllChecked = true;
   }
   console.log(this.selectedData);
  }

全选的JS

vue+vant-UI框架实现购物车的复选框全选和反选功能

全选的代码:

// 全选和反选
  checkAll() {
   let list = this.shoppingListData.rows;
   if (this.AllChecked) {
    list.forEach(element => {
     element.isChecked = false;
    });
    this.selectedData = [];
   } else {
    list.forEach(element => {
     element.isChecked = true;
     if (this.selectedData.indexOf(element.goods_id) < 0) {
      this.selectedData.push(element.goods_id);
     }
    });
    console.log(this.selectedData);
   }
  },

数组删除

vue+vant-UI框架实现购物车的复选框全选和反选功能

代码

//数组删除
  remove(arr, val) {
   var index = arr.indexOf(val);
   if (index > -1) {
    arr.splice(index, 1);
   }
  }

总结

以上所述是小编给大家介绍的vue+vant-UI框架实现购物车的复选框全选和反选功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
理解Javascript_02_理解undefined和null
Oct 11 Javascript
基于jQuery架构javascript基础体系
Jan 01 Javascript
firefox下input type=&quot;file&quot;的size是多大
Oct 24 Javascript
ASP.NET jQuery 实例6 (实现CheckBoxList成员全选或全取消)
Jan 13 Javascript
JavaScript实现简单图片翻转的方法
Apr 17 Javascript
jQuery实现有动画淡出效果的二级折叠菜单代码
Oct 17 Javascript
js流动式效果显示当前系统时间
May 16 Javascript
jQuery限制图片大小的方法
May 25 Javascript
Express + Node.js实现登录拦截器的实例代码
Jul 01 Javascript
Vue组件中的data必须是一个function的原因浅析
Sep 03 Javascript
JavaScript Canvas编写炫彩的网页时钟
Oct 16 Javascript
详解element上传组件before-remove钩子问题解决
Apr 08 Javascript
Vue通过WebSocket建立长连接的实现代码
Nov 05 #Javascript
原生js实现随机点名功能
Nov 05 #Javascript
element-ui 文件上传修改文件名的方法示例
Nov 05 #Javascript
vue keep-alive 动态删除组件缓存的例子
Nov 04 #Javascript
javascript如何实现create方法
Nov 04 #Javascript
关于vue里页面的缓存详解
Nov 04 #Javascript
vue2.0 获取从http接口中获取数据,组件开发,路由配置方式
Nov 04 #Javascript
You might like
经典的星际争霸,满是回忆的BGM
2020/04/09 星际争霸
php 对输入信息的进行安全过滤的函数代码
2012/06/29 PHP
PHP开发APP端微信支付功能
2017/02/17 PHP
解决Laravel blade模板转义html标签的问题
2019/09/03 PHP
JQuery与Ajax常用代码实现对比
2009/10/03 Javascript
js读取被点击次数的简单实例(从数据库中读取)
2014/03/07 Javascript
NodeJS学习笔记之Connect中间件模块(一)
2015/01/27 NodeJs
getElementById().innerHTML与getElementById().value的区别
2016/10/27 Javascript
EditPlus中的正则表达式 实战(4)
2016/12/15 Javascript
jQuery中弹出iframe内嵌页面元素到父页面并全屏化的实例代码
2016/12/27 Javascript
详解vue2.0 transition 多个元素嵌套使用过渡
2017/06/19 Javascript
纯js实现画一棵树的示例
2017/09/05 Javascript
jQuery实现的粘性滚动导航栏效果实例【附源码下载】
2017/10/19 jQuery
JS实现的找零张数最小问题示例
2017/11/28 Javascript
微信小程序js文件改变参数并在视图上及时更新【推荐】
2018/06/11 Javascript
解决vue.js 数据渲染成功仍报错的问题
2018/08/25 Javascript
js实现验证码功能
2020/07/24 Javascript
[52:57]2014 DOTA2国际邀请赛中国区预选赛 LGD-CDEC VS HGT
2014/05/21 DOTA
[55:26]DOTA2-DPC中国联赛 正赛 Aster vs LBZS BO3 第一场 2月23日
2021/03/11 DOTA
python中精确输出JSON浮点数的方法
2014/04/18 Python
Python日志模块logging简介
2015/04/13 Python
opencv转换颜色空间更改图片背景
2019/08/20 Python
CSS3图片旋转特效(360/60/-360度)
2013/10/10 HTML / CSS
浅谈css3中的渐进增强和优雅降级
2017/12/01 HTML / CSS
详解html5 canvas常用api总结(二)--绘图API
2016/12/14 HTML / CSS
庆元旦迎新年广播稿
2014/02/18 职场文书
春季运动会广播稿大全
2014/02/19 职场文书
喝酒检查书范文
2014/02/23 职场文书
公安纪律作风整顿剖析材料
2014/10/10 职场文书
四年级小学生评语
2014/12/26 职场文书
转让协议书
2015/01/27 职场文书
值班管理制度范本
2015/08/06 职场文书
市语委办2016年第十九届“推普周”活动总结
2016/04/05 职场文书
nginx对http请求处理的各个阶段详析
2021/03/31 Servers
Flask使用SQLAlchemy实现持久化数据
2021/07/16 Python
mysql timestamp比较查询遇到的坑及解决
2021/11/27 MySQL