elementUI -->实现简单的购物车
<template>
<div class="bbb">
<el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @change="handleAllChange">全选</el-checkbox>
<div style="margin: 15px 0;"></div>
<el-checkbox-group v-model="checkedGoods" @change="handleOneChange" class="aaa">
<el-checkbox v-for="good in goods" :label="good.name" :key="good.id">
<span style="width:150px;display:inline-block">商品名称: {{good.name}}</span>
<span style="width:150px;display:inline-block;margin-left:100px;margin-right:100px">商品价格: {{good.price}} 元</span>
<span> 商品数量:<el-input-number v-model="good.num" @change="handleChangeNum(good.id)" label="描述文字" size="small"></el-input-number></span>
<span style="width:150px;display:inline-block;margin-left:100px;margin-right:100px">小计: {{good.OnePrice}}元</span>
</el-checkbox>
</el-checkbox-group>
<div style="margin-top:40px;margin-left:450px;text-align:left">
<span style="margin-right:20px;display:inline-block">总价:{{allPrice}}元</span>
<el-button type="primary" size="small" @click="submitBtn">去结算<i class="el-icon-upload el-icon--right"></i></el-button>
</div> </div>
</template>
<script>
const goodOptions = ["哇哈哈", "辣条", "矿泉水", "西瓜", "苹果"];
export default {
data() {
return {
goods: [
{
id: ,
name: "哇哈哈",
price:
},
{
id: ,
name: "辣条",
price:
},
{
id: ,
name: "矿泉水",
price:
},
{
id: ,
name: "西瓜",
price:
},
{
id: ,
name: "苹果",
price:
}
],
checkAll: false,
isIndeterminate: true,
checkedGoods: [],
allPrice:
};
},
methods: {
handleAllChange(val) {
console.log(val, "");
this.checkedGoods = val ? goodOptions : [];
this.isIndeterminate = false;
if (val) {
this.getAllPrice();
} else {
this.allPrice = ;
}
},
handleOneChange(value) {
let a = ;
let checkedCount = value.length;
this.checkAll = checkedCount === this.checkedGoods.length;
this.isIndeterminate = checkedCount > && checkedCount < this.checkedGoods.length;
value.filter((it, id) => {
if (it == this.goods[id].name) {
if (this.goods[id].OnePrice) {
a += this.goods[id].OnePrice;
}
}
});
this.allPrice = a;
},
handleChangeNum(val) {
this.goods.filter((it, id) => {
if (it.id == val) {
it.OnePrice = it.num * it.price;
}
});
this.getAllPrice();
},
getAllPrice() {
//获取总价方法封装
let money = ;
this.goods.filter((it, id) => {
if (it.OnePrice) {
money += it.OnePrice;
}
});
this.allPrice = money;
},
submitBtn() {
this.$alert( this.allPrice+"元", "所有商品总计",{
confirmButtonText: "确定",
callback: action => {
this.$message({
type: "info",
message: "哈哈哈"
});
}
});
}
}
};
</script>
<style lang="postcss" scoped>
.bbb {
margin-left: 40px;
margin-top: 80px;
}
.aaa > label {
display: block;
text-align: left;
margin-top: 20px;
}
.el-checkbox {
display: block;
text-align: left;
}
</style>
elementUI -->实现简单的购物车的更多相关文章
- 使用MongoDB和JSP实现一个简单的购物车系统
目录 1 问题描述 2 解决方案 2.1 实现功能 2.2 最终运行效果图 2.3 系统功能框架示意图 2.4 有关MongoDB简介及系统环境配置 2.5 核心功能代码讲解 ...
- FineUI小技巧(1)简单的购物车页面
起因 最初是一位 FineUI 网友对购物车功能的需求,需要根据产品单价和数量来计算所有选中商品的总价. 这个逻辑最好在前台使用JavaScript实现,如果把这个逻辑移动到后台C#实现,则会导致过多 ...
- HTML5自学笔记[ 10 ]简单的购物车拖拽
用html5拖拽功能实现了一个简单的购物车,样式简陋,得学学画画提高下审美了T^T: <!doctype html> <html> <head> <meta ...
- 利用JSP编程技术实现一个简单的购物车程序
实验二 JSP编程 一.实验目的1. 掌握JSP指令的使用方法:2. 掌握JSP动作的使用方法:3. 掌握JSP内置对象的使用方法:4. 掌握JavaBean的编程技术及使用方法:5. 掌握JSP ...
- Python3学习之路~2.2 简单的购物车程序
程序:购物车程序 需求:启动程序后,让用户输入工资,然后打印商品列表允许用户根据商品编号购买商品用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 可随时退出,退出时,打印已购买商品和余额 代码 ...
- jQuery使用cookie与json简单实现购物车功能
本文实例讲述了jQuery使用cookie与json简单实现购物车的方法.分享给大家供大家参考,具体如下: 1.生成一个cookie 用来存储商品的id String类型 2.添加商品id的时候 把 ...
- react做的简单的购物车
###第一步 :首先电脑上已经安装react的脚手架 cnpm install create-react-app -g ###第二步 :创建项目 creact-react-app 项目 ...
- Java中的策略模式,完成一个简单地购物车,两种付款策略实例教程
策略模式是一种行为模式.用于某一个具体的项目有多个可供选择的算法策略,客户端在其运行时根据不同需求决定使用某一具体算法策略. 策略模式也被称作政策模式.实现过程为,首先定义不同的算法策略,然后客户端把 ...
- MVVM架构~knockoutjs实现简单的购物车
返回目录 概念相关 购物车相信大家都用过,很方便,可以将多个商品添加到购物车,并且可以修改购买商品的数据,当然为了用户体验好,在修改数据时,你的价格也会出现变化的,这使用JS可以实现,但我认为,代码量 ...
随机推荐
- php的工作原理
php有一种专门解释php的引擎称之为zend引擎 对于源程序,php引擎全部读入,而后进行词法分析,如果遇到不认识的词,就报parse_error (词法错误后终止分析) 词法分析后进入语法分析:语 ...
- 29.连续子数组的最大和(python)
题目描述 HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学.今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决.但是,如果向量 ...
- 第二篇【Zabbix客户端的完整布署】
关于Zabbix服务端布署请查看 1.上传zabbix安装包(源码包默认(Server和Agent是一起的)) [root@sms-v2 ~]# ll /root/ -rw-r--r-- root r ...
- BZOJ 4154: [Ipsc2015]Generating Synergy KDtree+dfs序
多组数据真tm恶心~ 把 $dfs$序和深度分别看作横纵坐标,然后用 $KDtree$ 数点就可以了~ #include <cstdio> #include <cstring> ...
- 我不熟悉的string类
我不常用的string函数 多的不说,直接上: assign函数 string& assign(const char *s); //把字符串s赋给当前的字符串 string& assi ...
- 局域网 ARP 欺骗原理详解
局域网 ARP 欺骗原理详解 ARP 欺骗是一种以 ARP 地址解析协议为基础的一种网络攻击方式, 那么什么是 ARP 地址解析协议: 首先我们要知道, 一台电脑主机要把以太网数据帧发送到同一局域网的 ...
- JavaWeb-SpringBoot_一个类实现腾讯云SDK发送短信
腾讯云应用列表 传送门 使用Gradle编译项目 传送门 SDK&API:qcloudsms_java 传送门 package com.Gary.sms.controller; import ...
- Unity3D_(插件)使用Camera渲染制作Minimap小地图
制作小地图:使用Camera渲染出来Render Texture 原理:使用摄像机从上到下获得场景游戏物体,摄像机Culling Mask渲染层级可设置是否需要在小地图上展示游戏物体,将摄像机获得的场 ...
- Class constructor FileManager cannot be invoked without 'new' in undefined (line undefined, column undefined)
解决办法: 1.删除package.json属性devDependencies的 less 和 less-loader ; 2.重新安装 npm i less less-loader --save-d ...
- Vue学习日记(二)——Vue核心思想
前言 Vue.js是一个提供MVVM数据双向绑定的库,其核心思想无非就是: 数据驱动 组件系统 数据驱动 Vue.js 的核心是一个响应的数据绑定系统,它让数据与DOM保持同步非常简单.在使用 jQu ...