vue实现购物车全部功能的简单方法
主要功能如下:
- 增加商品信息
- 修改商品信息
- 删除单个商品
- 删除多个商品
- 清空购物车
- 对商品单价进行降序排序
- 根据商品名称实现查找
- 实现商品数量加减
- 全选反选
- 实现勾选商品的总价计算
文章图片
由于功能比较多就不一个个讲了,我们先来讲几个主要功能的逻辑(增删改查),最后放全放部代码
首先我们先来看增加商品功能
//先来一个按钮绑定显示事件,点击添加后出现一个弹窗
//return 中定义了一个dis默认为false xian() {if (!this.dis == false) {this.dis = false} else {this.dis = true}},
然后再弹窗中点击确认修改,绑定一个事件把商品信息添加进去
//将要添加的商品信息push到一个新的数组中,添加完成之后关闭弹窗 tian() {if (this.name == "" || this.counrty == "" || this.price == "") {alert("商品信息不允许为空!")return false} else {this.shopPings.push({name: this.name,counrty: this.counrty,price: this.price,count: this.count,})}this.name = "",this.counrty = "",this.price = "",this.count = ""this.dis = false},
商品增加进去之后突然发现商品信息写错了!!??不要慌,接下来带大家看看修改功能
还是老规矩先定义一个按钮绑定显示事件,然后绑定显示事件,除了事件名称之外,跟上面添加类同,我们直接来看确认修改功能
//定义按钮绑定事件//将购物车中的商品信息跟修改之后的进行赋值修改,修改完成之后关闭弹窗xiugai() {console.log(this.int)let index = this.intconsole.log(this.name, this.price, this.count, )this.shopPings[index].name = this.namethis.shopPings[index].price = this.pricethis.shopPings[index].counrty = this.counrtythis.shopPings[index].count = this.countthis.dis1 = false},
有了增加修改之后我们再来写一个删除
定义一个按钮绑定事件,传入一个index值最后splice根据下标删除一条
定义一个按钮绑定事件,传入一个index值最后splice根据下标删除一条 del(index) {this.shopPings.splice(index, 1); },
清空购物车的话就比较简单了直接设置按钮点击后数组为空即可
alldel() {this.shopPings = []},
最后我们来看一下购物车中的查询功能
//return中设置input的value值//定义一个input框,绑定value值,设置enter键盘事件并且绑定搜索事件
具体看注释
//先来一个判断判断搜索框为空的时候进行查询会有提示信息不允许为空//然后拿到数组中的每一项的名称进行查找如果没有这个商品名称则提示没有该商品//最后对数组filter进行筛选,通过搜索框中输入的商品名称对比购物车中的商品名称来找到对应商品 search() {if (!this.input_value) {return alert('请输入内容')}if (this.shopPings.every((v) => {v.name.indexOf(this.input_value) == -1})) {this.input_valuehttps://www.it610.com/article/= ''return alert('没有此商品')}this.shopPings = this.shopPings.filter((v) => {v.name.replace(this.input_value, this.input_value)return v.name.indexOf(this.input_value) != -1})}
全部代码:
.shopCar {width: 1000px; border: 2px solid black; margin: 100px auto; overflow: auto; header {display: flex; justify-content: space-between; width: 600px; height: 27px; overflow: hidden; .add {width: 400px; background: #e4e1e1; position: absolute; left: 39%; top: 40%; input {display: block; margin: 20px auto; }button {display: block; margin: 0 auto; }}.xiu {width: 400px; background: #e4e1e1; position: absolute; left: 39%; top: 40%; input {display: block; margin: 20px auto; }button {display: block; margin: 0 auto; }}}main {// height: 400px; margin-top: 10px; ul {li {height: 78px; border-bottom: 2px solid black; display: flex; justify-content: space-between; p {float: left; width: 140px; height: 27px; border: 2px solid black; text-align: center; }}}}footer {height: 50px; margin-top: 13px; line-height: 50px; }}
- 全选
名称
产地
数量
单价
小计
操作
- {{item.id}}
{{item.name}}
{{item.counrty}}
{{item.price}}
{{item.price*item.count |suffix}}
总结
【vue实现购物车全部功能的简单方法】到此这篇关于vue实现购物车全部功能的文章就介绍到这了,更多相关vue实现购物车功能内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
推荐阅读
- vue-cli|vue-cli 3.x vue.config.js 配置
- 2020-04-07vue中Axios的封装和API接口的管理
- 关于QueryWrapper|关于QueryWrapper,实现MybatisPlus多表关联查询方式
- MybatisPlus使用queryWrapper如何实现复杂查询
- python学习之|python学习之 实现QQ自动发送消息
- 孩子不是实现父母欲望的工具——林哈夫
- opencv|opencv C++模板匹配的简单实现
- Node.js中readline模块实现终端输入
- java中如何实现重建二叉树
- 人脸识别|【人脸识别系列】| 实现自动化妆