vue实现购物车列表


Posted in Javascript onJune 30, 2020

本文实例为大家分享了vue实现购物车列表的具体代码,供大家参考,具体内容如下

功能:

  • 删除
  • 单选 全选
  • 增加数量 减少数量
  • 计算总价 计算数量
  • 搜索

代码:

<!DOCTYPE html>
<!DOCTYPE html>
<html>
 <head>
 <meta charset="utf-8">
 <title></title>
 <script src="./js/vue.js"></script>
 </head>
 <body>
 <div id="app">
   筛选:<input type="text" v-model="key">
 <table border="1" cellspacing="0" cellpadding="10">
 <tr>
  <th>
  <input type="checkbox" v-model="all" @change="checkAll()" >
  </th>
  <th>id</th>
  <th>书籍名称</th>
  <th>出版日期</th>
  <th>购买价格</th>
  <th>数量</th>
  <th>操作</th>
 </tr>
 <tr v-for="(item,index) in flist" :key="item.id">
  <td style="text-align: center;"><input type="checkbox" v-model="item.sel" ></td>
  <td>{{item.id}}</td>
  <td>{{item.name}}</td>
  <td>{{item.time}}</td>
  <td>{{item.price|prices}}</td>
  <td><button @click="item.num--" :disabled="item.num==1">-</button>{{item.num}}<button @click="item.num++">+</button></td>
  <td><button @click="delItem(item.id)">移除</button></td>
 </tr>
 <tr><td colspan="7">总价格:{{total.price|prices}} 选择数量:{{total.num}}</td></tr>
 </table>
 </div>
 <script>
 var vm = new Vue({
 el:"#app",
 data:{
     key:"",
  all:true,
  list:[
  {id:1,name:"小红书",time:"2018-8",price:188.99,num:1,sel:true},
  {id:2,name:"小烂熟",time:"2019-8",price:88.9,num:1,sel:true},
  {id:3,name:"小绿树",time:"2017-5",price:133.00,num:1,sel:true},
  {id:4,name:"发生的树",time:"2020-1",price:68.80,num:1,sel:true},
  {id:5,name:"奥古",time:"2015-4",price:555.50,num:1,sel:true },
  ]
 },
 methods:{
     delItem(item){
      var falg=window.confirm("确定要删除吗?");
      if(falg){
       this.list.splice(item-1,1)
      }
      
     },
     checkAll(){
      this.list.forEach(item=>item.sel=this.all)
     }
    },
    watch:{
     list:{
      handler:function(){
       this.all=this.list.every(item=>item.sel)
      },
      deep:true
     }
    },
    computed:{
     total:function(){
      var price=0;
      var num=0;
      this.list.forEach(item=>{
       if(item.sel){
        price+=item.num*item.price
        num+=item.num*1
       
       }
      })
      return ({price,num})
     },
     flist:function(){
      if(this.key===''){return this.list}
  return this.list.filter(item=>item.name.includes(this.key))
     }
    },
    filters:{
     prices:function(val,fix=2){
      val=val.toFixed(fix)
      val=""+val
      return "¥"+val
     }
    },

 
 })
 </script>
 </body>
</html>

vue实现购物车列表

关于vue.js组件的教程,请大家点击专题vue.js组件学习教程进行学习。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
用javascript实现计算两个日期的间隔天数
Aug 14 Javascript
IE6下出现JavaScript未结束的字符串常量错误的解决方法
Nov 21 Javascript
自己编写的支持Ajax验证的JS表单验证插件
May 15 Javascript
理解javascript中的原型和原型链
Jul 30 Javascript
js+css绘制颜色动态变化的圈中圈效果
Jan 27 Javascript
微信小程序 教程之小程序配置
Oct 17 Javascript
Vue2.0父子组件传递函数的教程详解
Oct 16 Javascript
jquery 获取索引值在一定范围的列表方法
Jan 25 jQuery
vue中vee validate表单校验的几种基本使用
Jun 25 Javascript
深入浅析angular和vue还有jquery的区别
Aug 13 jQuery
js实现表单项的全选、反选及删除操作示例
Jun 05 Javascript
微信小程序地图实现展示线路
Jul 29 Javascript
vue实现简单图片上传
Jun 30 #Javascript
vue基于better-scroll仿京东分类列表
Jun 30 #Javascript
vue使用better-scroll实现滑动以及左右联动
Jun 30 #Javascript
vue基于better-scroll实现左右联动滑动页面
Jun 30 #Javascript
Postman动态获取返回值过程详解
Jun 30 #Javascript
JS简易计算器实例讲解
Jun 30 #Javascript
如何在postman中添加cookie信息步骤解析
Jun 30 #Javascript
You might like
PHP动态创建Web站点的方法
2011/08/14 PHP
php去除二维数组的重复项方法
2015/11/03 PHP
PHP在线调试执行的实现方法(附demo源码)
2016/04/28 PHP
thinkphp分页集成实例
2017/07/24 PHP
[IE&amp;FireFox兼容]JS对select操作
2007/01/07 Javascript
JS实现下拉框的动态添加(附效果)
2013/04/03 Javascript
JQuery遍历DOM节点的方法
2015/06/11 Javascript
js实现获取div坐标的方法
2015/11/16 Javascript
基于jquery实现图片上传本地预览功能
2016/01/08 Javascript
最简单的tab切换实例代码
2016/05/13 Javascript
JavaScript模块化之使用requireJS按需加载
2017/04/12 Javascript
深入浅析vue组件间事件传递
2017/12/29 Javascript
vue watch监听对象及对应值的变化详解
2018/02/24 Javascript
vue.js实现点击后动态添加class及删除同级class的实现代码
2018/04/04 Javascript
vue之将echart封装为组件
2018/06/02 Javascript
python 判断三个数字中的最大值实例代码
2019/07/24 Python
树莓派4B+opencv4+python 打开摄像头的实现方法
2019/10/18 Python
pycharm修改file type方式
2019/11/19 Python
使用python+whoosh实现全文检索
2019/12/09 Python
简单了解pytest测试框架setup和tearDown
2020/04/14 Python
在spyder IPython console中,运行代码加入参数的实例
2020/04/20 Python
python使用Thread的setDaemon启动后台线程教程
2020/04/25 Python
Python PyQt5运行程序把输出信息展示到GUI图形界面上
2020/04/27 Python
将pycharm配置为matlab或者spyder的用法说明
2020/06/08 Python
Python datetime 如何处理时区信息
2020/09/02 Python
python性能测试工具locust的使用
2020/12/28 Python
美国运动鞋类和服装零售连锁店:Shoe Palace
2019/08/13 全球购物
装潢设计专业推荐信模板
2013/11/26 职场文书
家电业务员岗位职责
2014/03/10 职场文书
中学生国旗下讲话稿
2014/04/26 职场文书
医生爱岗敬业演讲稿
2014/08/26 职场文书
先进个人总结范文
2015/02/15 职场文书
2015年安全保卫工作总结
2015/05/14 职场文书
2016猴年春节问候语
2015/11/11 职场文书
MySQL系列之十三 MySQL的复制
2021/07/02 MySQL
OpenFeign实现远程调用
2022/08/14 Java/Android