Element-ui框架完成vue2项目的vuex的增删改查

看效果图是否是你需要的

这是原来没有Element-ui框架的

 首先,你要在你的项目里安装Element-ui
yarn命令

 yarn add element-ui

npm命令

npm install element-ui --save

 好了现在可以粘贴代码

//main.js
import Vue from 'vue'
import Vuex from 'vuex'
import VueRouter from 'vue-router'
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
import store from './tool/store'
import App from './App.vue'
import router from '@/tool/router'Vue.use(Vuex)
Vue.use(VueRouter)
Vue.use(ElementUI)new Vue({el: '#app',router,store,render: h => h(App)
})
//store.js
import Vue from 'vue'
import Vuex from 'vuex'Vue.use(Vuex)export default new Vuex.Store({state: {goodsList: []},mutations: {addGood(state, { name, price }) {state.goodsList.push({ id: state.goodsList.length + 1, name, price })},delGood(state, id) {const index = state.goodsList.findIndex(item => item.id === id)if (index !== -1) {state.goodsList.splice(index, 1)}},updateGood(state, { id, name, price }) {const good = state.goodsList.find(item => item.id === id)if (good) {good.name = namegood.price = price}}}
})

//router.js
import Vue from 'vue'
import VueRouter from 'vue-router'
import EditStore from '@/components/EditStore.vue'
import IndexStore from '@/components/IndexStore.vue'Vue.use(VueRouter)const routes = [{path: '/',redirect: '/index'},{path: '/index',component: IndexStore},{path: '/edit/:id',component: EditStore,name: 'Edit',props: true}
]const router = new VueRouter({routes
})export default router
<!-- EditStore.vue -->
<template><div><h3>编辑商品</h3><el-form :model="form" label-width="80px"><el-form-item label="商品名称"><el-input v-model="form.name"></el-input></el-form-item><el-form-item label="商品价格"><el-input-number v-model="form.price" controls-position="right" :min="0"></el-input-number></el-form-item><el-form-item><el-button type="primary" @click="submit">提交</el-button></el-form-item></el-form></div>
</template><script>
export default {props: ['id'],computed: {goodInfo() {return this.$store.state.goodsList.find(item => item.id === this.id)}},data() {return {form: {name: '',price: 0}}},mounted() {this.form = {name: this.goodInfo.name,price: this.goodInfo.price}},methods: {submit() {this.$store.commit({type: 'updateGood',id: this.id,name: this.form.name,price: this.form.price})this.$router.push('/index')}}
}
</script>
<!-- IndexStore.vue -->
<template><div><h3 style="margin-left: 200px">商品列表</h3><el-table :data="goodsList" border style="width: 600px; margin-left: 200px"><el-table-column prop="name" label="商品名称"></el-table-column><el-table-column prop="price" label="价格"></el-table-column><el-table-column label="操作"><template slot-scope="scope"><el-button type="danger" size="mini" @click="delGood(scope.row.id)">删除</el-button><el-button type="primary" size="mini" @click="editGood(scope.row.id)">编辑</el-button></template></el-table-column></el-table><el-button style="margin-left: 200px; margin-top: 10px" type="primary" @click="add">添加商品</el-button></div>
</template><script>
export default {name: 'IndexStore',computed: {goodsList() {return this.$store.state.goodsList;}},methods: {add() {const { name, price } = this.randomGood()this.$store.commit({ type: 'addGood', name, price })},randomGood() {const goods = [{ name: '洗衣机', price: 990 },{ name: '油烟机', price: 2239 },{ name: '电饭煲', price: 200 },{ name: '电视机', price: 880 },{ name: '电冰箱', price: 650 },{ name: '电脑', price: 4032 },{ name: '电磁炉', price: 210 }]return goods[parseInt(Math.random() * 7)]},delGood(id) {this.$store.commit('delGood', id)},editGood(id) {this.$router.push({ name: 'Edit', params: { id } })}}
}
</script>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/206203.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue.observable

让一个对象可响应。Vue 内部会用它来处理 data 函数返回的对象。 返回的对象可以直接用于渲染函数和计算属性内&#xff0c;并且会在发生变更时触发相应的更新。也可以作为最小化的跨组件状态存储器&#xff0c;用于简单的场景&#xff1a; const state Vue.observable({ coun…

【react】动态页面转换成html文件下载,解决样式问题

需求 今天遇到一个需求&#xff0c;挺恶心人的&#xff0c;将一个在线文档页面&#xff0c;可以导出成为html页面查看。 看到网上有使用fs模块&#xff0c;通过react的ReactDOMServer.renderToStaticMarkup将组件转成html字符串&#xff0c;输出文件了。 但是我尝试了&#x…

【1day】蓝凌OA 某接口敏感信息泄露漏洞学习

注:该文章来自作者日常学习笔记,请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与作者无关。 目录 一、漏洞描述 二、影响版本 三、资产测绘 四、漏洞复现 五、漏洞修

STL(一)(pair篇)

1.pair的定义和结构 在c中,pair是一个模板类,用于表示一对值的组合它位于<utility>头文件中 pair的定义如下: template<class T1, class T2> struct pair{T1 first; //第一个值T2 second; //第二个值//构造函数pair();pair(const T1&x,const T2&y);//比较…

3、Linux_系统用户管理

1.Linux 用户管理 1.1概述 Linux系统是一个多用户多任务的操作系统&#xff0c;任何一个要使用系统资源的用户&#xff0c;都必须首先向系统管理员申请一个账号&#xff0c;然后以这个账号的身份进入系统。root用户是系统默认创建的管理员账号。 1.2添加用户 语法 useradd […

[Linux] nginx配置的主配置文件

一、六个模块的作用 全局块&#xff1a;全局配置&#xff0c;对全局生效&#xff1b; events块&#xff1a;配置影响 Nginx 服务器与用户的网络连接&#xff1b; http块&#xff1a;配置代理&#xff0c;缓存&#xff0c;日志定义等绝大多数功能和第三方模块的配置&#xff1b;…

Qt 输入一组数,排序后用柱状图显示

Qt柱状图&#xff0c;需要使用到QChart模块&#xff0c;因此需要在安装Qt时勾选上QChart模块。然后在工程.pro文件中加上 QT charts 参考代码&#xff1a; //MainWindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow> #include <QPushButton…

模块一:双指针——1089.复写零

文章目录 题目解析算法原理异地原地 代码实现 题目解析 题目链接&#xff1a;1089.复写零 这题的暴力解法还是很简单的&#xff0c;不过这道题因为加了两个限制之后&#xff0c;多了一些细节需要去处理。我们通过一个例子来讲解这道题目&#xff1a; 在这个示例中&#xff0…

EM32DX-C2【C#】站9

1说明: 分布式io,CAN总线,C#上位机二次开发(usb转CAN模块) 2DI: 公共端是: 0V【GND】 X0~X15:自带24v 寄存器地址:0x6100-01 6100H DI输入寄存器 16-bit (16位输入) 00H U8 子索引总数 01H Unsigned16 IN16bit(上传16位输入值)【读DI 15~0】02H Unsigned1…

六个自媒体写作方法,提升自媒体创作收益

在自媒体时代&#xff0c;写作成为了一个不可或缺的技能。特别是对于新手来说&#xff0c;掌握一些有效的写作方法&#xff0c;可以事半功倍&#xff0c;更好地展现个人创意和观点。在这里&#xff0c;我将分享六个适合新手的自媒体写作方法&#xff0c;希望能够为你在写作之路…

ubuntu 20.04.6 desk 安装 初始化

ubuntu 20.04.6 desk 安装 初始化 ssh https://blog.csdn.net/wowocpp/article/details/127470332 sudo apt update sudo apt install openssh-server -y sudo service ssh status 不用配置 就可以连接 sudo vim /etc/ssh/sshd_config sudo service ssh restart sudo servic…

贪心算法背包问题c

在背包问题中&#xff0c;贪心算法通常用来解决0-1背包问题&#xff0c;也就是每种物品都有固定数量&#xff0c;你可以选择拿或者不拿&#xff0c;但不可以拿走部分。以下是一个用C语言实现的贪心算法的例子&#xff1a; #include <stdio.h>#define MAX_N 1000#define …

大数据项目——基于Django/协同过滤算法的房源可视化分析推荐系统的设计与实现

大数据项目——基于Django/协同过滤算法的房源可视化分析推荐系统的设计与实现 技术栈&#xff1a;大数据爬虫/机器学习学习算法/数据分析与挖掘/大数据可视化/Django框架/Mysql数据库 本项目基于 Django框架开发的房屋可视化分析推荐系统。这个系统结合了大数据爬虫、机器学…

递增三元组

遍历三层循环,数据量十分地大,可以找第一行小于第二行的 再找第三行大于第二行的,所有方案的和 通过分析测试样例,111,222,333这三个数存在重复计算。可以想办法存一下每个数的出现次数 如果是111666999.不管1和9怎么变,只要第一行小于6,第二行小于9,答案不变 所以可以想办法存…

如何使用promot提示词的相关总结

了解一下大模型相关知识&#xff1a; 1.大模型是一种大规模的预训练模型&#xff0c;其训练分为几个阶段&#xff0c;包括预训练、微调和强化学习。 2.预训练阶段使用大规模的常识性数据进行训练&#xff0c;以充实模型在特定领域的支持。 3.微调阶段使用与实际业务场景相关性…

如何使用 Oracle SQL Developer 连接 pgvector

如何使用 Oracle SQL Developer 连接 pgvector 1. 下载 postgresql 的 jdbc 驱动2. Oracle SQL Developer 配置第三方驱动3. Oracle SQL Developer 配置 postgres 连接 1. 下载 postgresql 的 jdbc 驱动 访问 https://jdbc.postgresql.org/download/&#xff0c;下载驱动&…

力扣刷题day3(移除元素,找出字符串中的第一个不匹配项的下标,搜索插入位置)

题目1&#xff1a;27.移除元素 思路1和代码&#xff1a; //由于题目要求删除数组中等于 val\textit{ val }val 的元素&#xff0c;因此输出数组的长度一定小于等于输入数组的长度&#xff0c;我们可以把输出的数组直接写在输入数组上。可以使用双指针&#xff1a;右指针 righ…

使用Tomcat部署静态项目并处理BUG

--听讲的习惯 Tomcat介绍 tomcat what_Arenaschi的博客-CSDN博客 Tomcat安装及配置教程&#xff08;超详细&#xff09; 那些年我们用过的tomcat_Arenaschi的博客-CSDN博客 简单使用tomcat查看版本信息等_windows查看tomcat版本命令-CSDN博客 Tomcat部署html静态网站的五种方…

银河麒麟安装lnmp,安装chrome。

安装lnmp 下载相关文件 链接&#xff1a;https://pan.baidu.com/s/1YqFLfGpE5DP3Sf_2GsXqNg?pwdptsn –来自百度网盘超级会员V7的分享 上传到服务器 我所选择上传的地方是 /home/npf/nginx-server&#xff0c; php放在跟nginx-server的同级目录 cd / mkdir home /home/npf…

centos7.9 安装java-11版本 (yum安装)

1.查看java的所有版本&#xff1a; yum list java*输出&#xff1a; [rootlocalhost ~]# yum list java* 已加载插件&#xff1a;fastestmirror Loading mirror speeds from cached hostfile* base: mirrors.ustc.edu.cn* centos-sclo-rh: ftp.sjtu.edu.cn* centos-sclo-sclo…