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.The.Good.Parts阅读笔记(二)作用域&amp;闭包&amp;减缓全局空间污染
Nov 16 Javascript
常规表格多表头查询示例
Feb 21 Javascript
Web开发必知Javascript技巧大全
Feb 23 Javascript
jQuery实现响应鼠标事件的图片透明效果【附demo源码下载】
Jun 16 Javascript
AngularJS应用开发思维之依赖注入3
Aug 19 Javascript
vue click.stop阻止点击事件继续传播的方法
Sep 04 Javascript
浅谈Webpack核心模块tapable解析
Sep 11 Javascript
vue实现登录页面的验证码以及验证过程解析(面向新手)
Aug 02 Javascript
JavaScript遍历数组的方法代码实例
Jan 14 Javascript
node.JS的crypto加密模块使用方法详解(MD5,AES,Hmac,Diffie-Hellman加密)
Feb 06 Javascript
JavaScript简单编程实例学习
Feb 14 Javascript
详解vue中在父组件点击按钮触发子组件的事件
Nov 13 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
模仿JQuery.extend函数扩展自己对象的js代码
2009/12/09 Javascript
Jquery插件 easyUI属性汇总
2011/01/19 Javascript
说明你的Javascript技术很烂的五个原因
2011/04/26 Javascript
基于jquery实现的类似百度搜索的输入框自动完成功能
2011/08/23 Javascript
关于jQuery中的each方法(jQuery到底干了什么)
2014/03/05 Javascript
jQuery实现高亮显示网页关键词的方法
2015/08/07 Javascript
jQuery Easyui使用(一)之可折叠面板的布局手风琴菜单
2016/08/17 Javascript
微信小程序 progress组件详解及实例代码
2016/10/25 Javascript
jQuery plugin animsition使用小结
2017/09/14 jQuery
JS路由跳转的简单实现代码
2017/09/21 Javascript
vue.config.js中配置Vue的路径别名的方法
2020/02/11 Javascript
[08:08]DOTA2-DPC中国联赛2月28日Recap集锦
2021/03/11 DOTA
如何使用python爬取csdn博客访问量
2016/02/14 Python
pygame实现弹力球及其变速效果
2017/07/03 Python
Python 查看文件的读写权限方法
2018/01/23 Python
pycharm安装和首次使用教程
2018/08/27 Python
浅谈django三种缓存模式的使用及注意点
2018/09/30 Python
深入理解Django-Signals信号量
2019/02/19 Python
详解python3 + Scrapy爬虫学习之创建项目
2019/04/12 Python
python2.7的flask框架之引用js&amp;css等静态文件的实现方法
2019/08/22 Python
在django-xadmin中APScheduler的启动初始化实例
2019/11/15 Python
Selenium 滚动页面至元素可见的方法
2020/03/18 Python
如何基于Python爬虫爬取美团酒店信息
2020/11/03 Python
简单掌握CSS3中resize属性的用法
2016/04/01 HTML / CSS
VELTRA台湾:世界自由行专家
2017/08/15 全球购物
求职信模版
2013/11/30 职场文书
大学生水果店创业计划书
2014/01/28 职场文书
实验教师岗位职责
2014/02/13 职场文书
安全生产活动月方案
2014/03/09 职场文书
装修协议书范本
2014/04/21 职场文书
就业意向书
2014/07/29 职场文书
村官个人总结范文
2015/03/03 职场文书
2015年市场部工作总结
2015/04/30 职场文书
HTML中的表单Form实现居中效果
2021/05/25 HTML / CSS
详解Python函数print用法
2021/06/18 Python
教你部署vue项目到docker
2022/04/05 Vue.js