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 相关文章推荐
几个比较经典常用的jQuery小技巧
Mar 01 Javascript
JS中的异常处理方法分享
Dec 22 Javascript
jquery提交form表单简单示例分享
Mar 03 Javascript
js window对象属性和方法相关资料整理
Nov 11 Javascript
深入探秘jquery瀑布流的实现
Jan 30 Javascript
使用Script元素发送JSONP请求的方法
Jun 12 Javascript
Node.js之网络通讯模块实现浅析
Apr 01 Javascript
解决Vue+Element ui开发中碰到的IE问题
Sep 03 Javascript
vue的style绑定background-image的方式和其他变量数据的区别详解
Sep 03 Javascript
详解JavaScript栈内存与堆内存
Apr 04 Javascript
解决mui框架中switch开关通过js控制开或者关状态时小圆点不动的问题
Sep 03 Javascript
Vue项目中使用jsonp抓取跨域数据的方法
Nov 10 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
用PHP发电子邮件
2006/10/09 PHP
php下intval()和(int)转换使用与区别
2008/07/18 PHP
Win下如何安装PHP的APC拓展
2013/08/07 PHP
PHP实现将视频转成MP4并获取视频预览图的方法
2015/03/12 PHP
PHP输入输出流学习笔记
2015/05/12 PHP
php使用curl实现简单模拟提交表单功能
2017/05/15 PHP
PHP htmlentities()函数用法讲解
2019/02/25 PHP
javascript 单例/单体模式(Singleton)
2011/04/07 Javascript
巧用局部变量提升javascript性能
2014/02/24 Javascript
document.compatMode的CSS1compat使用介绍
2014/04/03 Javascript
JS实现为表格动态添加标题的方法
2015/03/31 Javascript
jQuery进行组件开发完整实例
2015/12/15 Javascript
Javascript之BOM(window对象)详解
2016/05/25 Javascript
Json按某个键的值进行排序
2016/12/22 Javascript
jQuery插件echarts去掉垂直网格线用法示例
2017/03/03 Javascript
angular十大常见问题
2017/03/07 Javascript
nodejs模块nodemailer基本使用-邮件发送示例(支持附件)
2017/03/28 NodeJs
vue自定义指令directive实例详解
2018/01/17 Javascript
AngularJS中ng-options实现下拉列表的数据绑定方法
2018/08/13 Javascript
jQuery超简单遮罩层实现方法示例
2018/09/06 jQuery
vue+egg+jwt实现登录验证的示例代码
2019/05/18 Javascript
bootstrap-table+treegrid实现树形表格
2019/07/26 Javascript
[05:43]VG.R战队教练Mikasa专访:为目标从未停止战斗
2016/08/02 DOTA
[04:22]DOTA2大事件之护国神翼
2020/08/14 DOTA
python爬虫正则表达式之处理换行符
2018/06/08 Python
Python 多线程不加锁分块读取文件的方法
2018/12/11 Python
CSS3之背景尺寸Background-size使用介绍
2013/10/14 HTML / CSS
Smilodox官方运动服装店:从运动服到健身配件
2020/08/27 全球购物
当x.equals(y)等于true时,x.hashCode()与y.hashCode()可以不相等,这句话对不对
2015/05/02 面试题
2014年自我评价
2014/01/04 职场文书
思想汇报格式
2014/01/05 职场文书
关工委先进个人事迹材料
2014/05/23 职场文书
2015年高中班主任工作总结
2015/04/30 职场文书
《田忌赛马》教学反思
2016/02/19 职场文书
2019年“红色之旅”心得体会1000字(3篇)
2019/09/27 职场文书
MySQL为id选择合适的数据类型
2021/06/07 MySQL