IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> 用vue和iview做了一个购物车小页面 -> 正文阅读

[JavaScript知识库]用vue和iview做了一个购物车小页面

<template>

? <div id="app">

? ? <div class="container">

? ? ? <h1>购物车</h1>

? ? ? <Table border :columns="columns1" :data="data1">

? ? ? ? <template slot-scope="{ row }" slot="pic">

? ? ? ? ? <!-- <strong>{{ row.name }}</strong> -->

? ? ? ? ? <img :src="row.pic" alt="" />

? ? ? ? </template>

? ? ? ? <template slot-scope="{ row }" slot="total">

? ? ? ? ? <span>{{ computedTotal(row.price, row.count) }}</span>

? ? ? ? </template>

? ? ? ? <template slot-scope="{ row, index }" slot="action">

? ? ? ? ? <Button type="error" @click="remove(index)">删除</Button>

? ? ? ? </template>

? ? ? </Table>

? ? ? <div class="footer">

? ? ? ? <h1>总计:{{ total }}</h1>

? ? ? ? <p>

? ? ? ? ? <Button type="success" @click="submit">提交</Button>

? ? ? ? </p>

? ? ? </div>

? ? </div>

? </div>

</template>

<script>

import bignumber from 'bignumber.js'

export default {

? name: 'App',

? data() {

? ? return {

? ? ? columns1: [

? ? ? ? {

? ? ? ? ? title: '序号',

? ? ? ? ? key: 'name',

? ? ? ? ? type: 'index',

? ? ? ? },

? ? ? ? {

? ? ? ? ? title: '图片',

? ? ? ? ? key: 'pic',

? ? ? ? ? slot: 'pic',

? ? ? ? },

? ? ? ? {

? ? ? ? ? title: '单价',

? ? ? ? ? key: 'price',

? ? ? ? },

? ? ? ? {

? ? ? ? ? title: '商品总价',

? ? ? ? ? slot: 'total',

? ? ? ? },

? ? ? ? {

? ? ? ? ? title: '数量',

? ? ? ? ? key: 'count',

? ? ? ? ? render: (h, params) => {

? ? ? ? ? ? return h('div', [

? ? ? ? ? ? ? h('Input-number', {

? ? ? ? ? ? ? ? props: {

? ? ? ? ? ? ? ? ? max: 100,

? ? ? ? ? ? ? ? ? min: 0,

? ? ? ? ? ? ? ? ? step: 1,

? ? ? ? ? ? ? ? ? value: params.row.count,

? ? ? ? ? ? ? ? },

? ? ? ? ? ? ? ? on: {

? ? ? ? ? ? ? ? ? 'on-change': (value) => {

? ? ? ? ? ? ? ? ? ? this.data1[params.index].count = value

? ? ? ? ? ? ? ? ? },

? ? ? ? ? ? ? ? },

? ? ? ? ? ? ? }),

? ? ? ? ? ? ])

? ? ? ? ? },

? ? ? ? },

? ? ? ? {

? ? ? ? ? title: '操作',

? ? ? ? ? key: '',

? ? ? ? ? slot: 'action',

? ? ? ? },

? ? ? ],

? ? ? data1: [

? ? ? ? {

? ? ? ? ? id: '0',

? ? ? ? ? name: '王小明',

? ? ? ? ? pic: './assets/j1.jpg',

? ? ? ? ? price: '34.63',

? ? ? ? ? count: 2,

? ? ? ? },

? ? ? ? {

? ? ? ? ? id: '1',

? ? ? ? ? name: '张小刚',

? ? ? ? ? pic: './assets/j1.jpg',

? ? ? ? ? price: '34.63',

? ? ? ? ? count: 0,

? ? ? ? },

? ? ? ? {

? ? ? ? ? id: '2',

? ? ? ? ? name: '李小红',

? ? ? ? ? pic: './assets/j1.jpg',

? ? ? ? ? price: '34.63',

? ? ? ? ? count: 0,

? ? ? ? },

? ? ? ? {

? ? ? ? ? id: '3',

? ? ? ? ? name: '周小伟',

? ? ? ? ? pic: './assets/j1.jpg',

? ? ? ? ? price: '34.63',

? ? ? ? ? count: 0,

? ? ? ? },

? ? ? ],

? ? }

? },

? methods: {

? ? computedTotal(price, count) {

? ? ? return new bignumber(price).multipliedBy(count).toFixed(2)

? ? },

? ? remove(index) {

? ? ? this.$Modal.confirm({

? ? ? ? title: '提示',

? ? ? ? content: '确认删除这条数据吗?',

? ? ? ? onOk: () => {

? ? ? ? ? this.data1.splice(index, 1)

? ? ? ? },

? ? ? ? onCancel: () => {

? ? ? ? ? this.$Message.info('已取消')

? ? ? ? },

? ? ? })

? ? },

? ? submit() {

? ? ? const req = this.data1.map((item) => ({

? ? ? ? id: item.id,

? ? ? ? count: item.count,

? ? ? }))

? ? ? console.log(req)

? ? },

? },

? computed: {

? ? total() {

? ? ? const num = this.data1.reduce((a, b) => {

? ? ? ? return new bignumber(a).plus(

? ? ? ? ? new bignumber(b.count).multipliedBy(b.price),

? ? ? ? )

? ? ? }, 0)

? ? ? return new bignumber(num).toFixed(2)

? ? },

? },

}

</script>

<style>

#app {

? margin-top: 60px;

}

.container {

? width: 1224px;

? margin: 0 auto;

}

img {

? width: 30px;

? height: 20px;

}

.footer {

? right: 0;

}

</style>

?

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-11-23 12:15:16  更:2021-11-23 12:16:45 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/21 0:36:47-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码