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的执行速度
Jan 23 Javascript
JQuery 操作select标签实现代码
May 14 Javascript
基于jquery实现拆分姓名的方法(纯JS版)
May 08 Javascript
jquery mobile页面跳转后样式丢失js失效的解决方法
Sep 06 Javascript
javascript的switch用法注意事项分析
Feb 02 Javascript
JS获取iframe中longdesc属性的方法
Apr 01 Javascript
js实现延迟加载的方法
Jun 24 Javascript
九种原生js动画效果
Nov 11 Javascript
浅谈js算法和流程控制
Dec 29 Javascript
VueJS如何引入css或者less文件的一些坑
Apr 25 Javascript
VUE注册全局组件和局部组件过程解析
Oct 10 Javascript
浅谈vue2的$refs在vue3组合式API中的替代方法
Apr 18 Vue.js
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
PHP 实例化类的一点摘记
2008/03/23 PHP
PHP显示今天、今月、上月、今年的起点/终点时间戳的代码
2011/05/25 PHP
PHP+Ajax实时自动检测是否联网的方法
2015/07/01 PHP
PHP中SSO Cookie登录分析和实现
2015/11/06 PHP
jQuery实现的立体文字渐变效果
2010/05/17 Javascript
超级有用的13个基于jQuery的内容滚动插件和教程
2011/07/31 Javascript
Javascript浮点数乘积运算出现多位小数的解决方法
2014/02/17 Javascript
Firefox下无法正常显示年份的解决方法
2014/09/04 Javascript
node+express+ejs制作简单页面上手指南
2014/11/26 Javascript
js的toUpperCase方法用法实例
2015/01/27 Javascript
JavaScript中常用的验证reg
2016/10/13 Javascript
Bootstrap 3多级下拉菜单实例
2017/11/23 Javascript
React-Router如何进行页面权限管理的方法
2017/12/06 Javascript
vue-cli脚手架引入图片的几种方法总结
2018/03/13 Javascript
你应该了解的JavaScript Array.map()五种用途小结
2018/11/14 Javascript
基于AngularJS拖拽插件ngDraggable.js实现拖拽排序功能
2019/04/02 Javascript
Vue中使用Lodop插件实现打印功能的简单方法
2019/12/19 Javascript
js实现百度登录窗口拖拽效果
2020/03/19 Javascript
Python GAE、Django导出Excel的方法
2008/11/24 Python
讲解python参数和作用域的使用
2013/11/01 Python
Windows下实现Python2和Python3两个版共存的方法
2015/06/12 Python
python3+PyQt5实现拖放功能
2018/04/24 Python
OpenCV搞定腾讯滑块验证码的实现代码
2019/05/18 Python
Python实现计算文件MD5和SHA1的方法示例
2019/06/11 Python
详解解决Python memory error的问题(四种解决方案)
2019/08/08 Python
凯特王妃父母建立的派对用品网站:Party Pieces
2017/05/28 全球购物
Senreve官网:美国旧金山的奢侈手袋品牌
2019/03/21 全球购物
游戏商店:Eneba
2020/04/25 全球购物
尽职尽责村干部自我鉴定
2014/01/23 职场文书
班班通项目实施方案
2014/02/25 职场文书
动员大会主持词
2014/03/20 职场文书
《烈火英雄》观后感:致敬和平时代的英雄
2019/11/11 职场文书
给numpy.array增加维度的超简单方法
2021/06/02 Python
详解Vue的列表渲染
2021/11/20 Vue.js
Tomcat执行startup.bat出现闪退的原因及解决办法
2022/04/20 Servers
详解Mysq MVCC多版本的并发控制
2022/04/29 MySQL