SPA项目开发之CRUD+表单验证
目录
一、SPA项目开发之表单验证
二、SPA项目开发之CRUD
一、SPA项目开发之表单验证
我们做项目的都关乎到增删改查的功能,在进行增删改查功能之前,我们必须有一个表单验证。
1、首先先写入表单验证的代码:这里面需要注意的是变量,以及定义方法
<!-- 编辑界面 --><el-dialog :title="title" :visible.sync="editFormVisible" width="30%" @click="closeDialog"><el-form label-width="120px" :model="editForm" :rules="rules" ref="editForm"><el-form-item label="文章标题" prop="title"><el-input size="small" v-model="editForm.title" auto-complete="off" placeholder="请输入部门名称"></el-input></el-form-item><el-form-item label="文章内容" prop="body"><el-input size="small" v-model="editForm.body" auto-complete="off" placeholder="请输入部门代码"></el-input></el-form-item></el-form><div slot="footer" class="dialog-footer"><el-button size="small" @click="closeDialog">取消</el-button><el-button size="small" type="primary" class="title" @click="submitForm('editForm')">保存</el-button></div></el-dialog>
定义变量以及方法:
变量代码:
return {
listData: [],
title: '',
editFormVisible: false,
formInline: {
page: 1,
rows: 10,
total: 0
},
editForm: {
id: 0,
title: '',
body: ''
},
rules规则:如果在增改或者修改时,长度没有达标就会进行提示,这就是表单验证:
rules: {title: [{required: true,message: '请输入活动名称',trigger: 'blur'},{min: 3,max: 5,message: '长度在 3 到 5 个字符',trigger: 'blur'}],body: [{required: true,message: '请输入文章内容',trigger: 'change'}]}
方法代码:
clearData() {//清除数据的方法editFormVisible: false,this.title = '',this.editForm.id = 0,this.editForm.title = '',this.editForm.body = '';},closeDialog() {//关闭弹出框的方法this.clearData();},handleEdit(index, row) {this.clearData();this.editFormVisible = true;if (row) {//取到当前一行this.title = '编辑窗口',this.editForm.id = row.id,this.editForm.title = row.title,this.editForm.body = row.body;} else {this.title = '新增窗口'}},deleteUser(index, row) {},submitForm(formName) {this.$refs[formName].validate((valid) => {if (valid) {let url;if (this.editForm.id == 0) {url = this.axios.urls.SYSTEM_ARTICLE_ADD;} else {url = this.axios.urls.SYSTEM_ARTICLE_EDIT;}this.axios.post(url, this.editForm).then((resp) => { //前后端交互的代码this.clearData();this.search();}).catch(function(error) {console.log(error);});} else {console.log('error submit!!');return false;}});},
做好表单验证就是为后面的增删改查打好基础。
二、SPA项目开发之CRUD
下面分享的是增删改,查询在上次博客中已经分享了
一、增加:
1、思路:
1、点击增加时,要弹出一个提示框,里面包含着文章标题和文章内容
2、表单验证有限制,如果长度没有达到要求时就会提示。
3、当我点击增加按钮时就会调用增加方法
2、代码:
1、点击增加时,要弹出一个提示框,里面包含着文章标题和文章内容:
handleEdit(index, row) {
this.clearData();
this.editFormVisible = true;//弹出提示框
if (row) {//取到当前一行
this.title = '编辑窗口',
this.editForm.id = row.id,
this.editForm.title = row.title,
this.editForm.body = row.body;
} else {
this.title = '新增窗口'
}
},
2、表单验证有限制,如果长度没有达到要求时就会提示:
rules: {title: [{required: true,message: '请输入活动名称',trigger: 'blur'},{min: 3,max: 5,message: '长度在 3 到 5 个字符',trigger: 'blur'}],body: [{required: true,message: '请输入文章内容',trigger: 'change'}]
3、当我点击增加按钮时就会调用增加方法:
url = this.axios.urls.SYSTEM_ARTICLE_ADD;//增加的方法。
增加的效果:
现在是161条数据:
现在增加一条数据:
现在有163条数据:表明增加成功。
二、修改:
1、思路:
1、点击一条数据进行修改,前提是要进行选中那一行
2、选中之后,由于和增加是调用同一个方法handleEdit(里面有两个参数),且弹出的是同一个弹出框,区别在于修改要选中行数,而增加不要选中行数
3、最后点击修改是调用后台方法,进行修改
1、点击一条数据进行修改,前提是要进行选中那一行
2、选中之后,由于和增加是调用同一个方法handleEdit(里面有两个参数),且弹出的是同一个弹出框,区别在于修改要选中行数,而增加不要选中行数
代码:
handleEdit(index, row) {this.clearData();this.editFormVisible = true;//弹出提示框if (row) {//取到当前一行this.title = '编辑窗口',this.editForm.id = row.id,this.editForm.title = row.title,this.editForm.body = row.body;} else {this.title = '新增窗口'}},
3、最后点击修改是调用后台方法,进行修改:
url = this.axios.urls.SYSTEM_ARTICLE_EDIT;
三、删除:
1、首先要写好删除的方法,到后台调用删除方法
2、其次最重要的是删除方法要传一个id,进行删除,删除之前可以弹出一个询问框,进行询问,如果确定,就会删除,如果取消,就不会删除,这也同时满足客户需求
首先要写好删除的方法,到后台调用删除方法
deleteUser(index,row) {
this.editForm.id=row.id;//获取到这一行的id(其次最重要的是删除方法要传一个id,进行删除)
let url = this.axios.urls.SYSTEM_ARTICLE_DEL;//到后台调用删除方法
this.axios.post(url, this.editForm).then((resp) => { //前后端交互的代码
this.clearData();//使用时清空数据
this.search();//删除之后进行查询
}).catch(function(error) {
console.log(error);
});
},
总体代码:
deleteUser(index, row) {this.$confirm('确定要删除吗?', '信息', {confirmButtonText: '确定',cancelButtonText: '取消',type: 'warning'}).then(() => {deptDelete(row.deptId).then(res => {if (res.success) {this.editForm.id=row.id;//获取到这一行的idlet url = this.axios.urls.SYSTEM_ARTICLE_DEL;//到后台调用删除方法this.axios.post(url, this.editForm).then((resp) => { //前后端交互的代码this.clearData();//使用时清空数据this.search();//删除之后进行查询}).catch(function(error) {console.log(error);});this.$message({type: 'success',message: '该记录已删除!'})this.getdata(this.formInline)} else {this.$message({type: 'info',message: res.msg})}}).catch(err => {this.loading = falsethis.$message.error('该记录删除失败,请稍后再试!')})}).catch(() => {this.$message({type: 'info',message: '已取消删除'})})},
当我点击删除时,就会先弹出一个询问框:
当我点击确定后,该条数据就被删除了。
今天的知识就分享到这里了,希望对你有所帮助!
SPA项目开发之CRUD+表单验证相关推荐
- SPA项目开发(CRUD表单验证)
目录 一.表单验证 二.增删改 一.表单验证 步骤: ①.将以下拷入Articles.vue中分页条下面 <!-- 编辑界面 --><el-dialog :title="t ...
- python嵌套html开发gui_python GUI库图形界面开发之PyQt5表单布局控件QFormLayout详细使用方法与实例...
PyQt5布局控件QFormLayout简介 QFormLayout是label-field式的表单布局,顾明思议,就是实现表单方式的布局,表单是提示用户进行交互的一种模式,主要有两列组成,第一列用于 ...
- php 表单提交2次,微信开发之php表单微信中自动提交两次问题解决办法
前言: 最近做微信开发,在微信中访问PHP页面,页面中有个表单.测试发现偶尔会出现表单被自动提交两次的情况,导致流程出错. 问题原因 暂时未找到原因,不过怀疑跟微信本身的机制有关. 解决方法 用ses ...
- JSP开发之JSP 表单处理(GET 方法POST 方法)
我们在浏览网页的时候,经常需要向服务器提交信息,并让后台程序处理,通常使用的是 GET 和 POST 方法向服务器提交数据. 其中,GET方法将请求的编码信息添加在网址后面,网址与编码信息通过&quo ...
- spa项目开发之jwt验证码实现
实现思路及细节 思路: 登录界面向后台请求验证码,后台就先调用随机函数生成验证码,并且根据验证码生成一张图片,以 base64 字符串的形式传到前台,这时我们还要生成verificationJwt令牌 ...
- SPA项目开发之JWT
1. JWT是什么 JSON Web Token (JWT),它是目前最流行的跨域身份验证解决方案 2. 为什么使用JWT JWT的精髓在于:"去中心化",数据是保存在客户端的. ...
- spa项目开发之vue+elementUi实现tab页
文章目录 实现tab页的具体思路: ①当点击左侧导航菜单时 ②操作上侧的tab页时 实现子tab页 当点击一个菜单栏时,出一个tab 实现tab页的具体思路: ①当点击左侧导航菜单时 获取菜单名,把它 ...
- 微信小程序插件---表单验证篇
微信小程序插件---表单验证篇 项目下载地址 WxValidate - 表单验证 插件介绍 该插件是参考 jQuery Validate 封装的,为小程序表单提供了一套常用的验证规则,包括手机号码.电 ...
- vue iview表单验证,清除表单验证/去掉表单验证的*号
前言: 最近写isop项目遇到的问题, 表单验证,默认的iview写法加上prop,在data里面定义,input前面就会有个红色的号,表示这里必填加了验证,测试觉得这个号碍眼,让我去掉,第一次遇到这 ...
最新文章
- 央视与遗传发育所合拍《锄禾者新说》科教片
- Python基础之:Python中的异常和错误
- mingw+libpython安装记录
- 榆落微时光社区小程序源码V1.0.35
- [bzoj2648]SJY摆棋子(带插入kd-tree)
- 统计php代码执行情况,PHP代码执行函数总结
- Python 标准库 —— 文件解压(zip、gz、pkl、tar)
- Golang(八)go modules 学习
- arcpy 查看arcgis的产品类型、产品许可与安装信息
- nsis检测vc2013运行环境vcredist_x86.exe是否已经安装
- java医院门诊管理系统
- matlab输出动态gif图片
- 数据结构试卷及答案(一)
- python绘制风玫瑰图_用Python matplotlib 怎么画风向玫瑰图 能给出程序的
- Namenode处于安全模式时,对hadoop进行查看操作,edits_inprogress_txid中没有事物事件的增加,txid没有增加?
- github官网进不去解决方案
- Java web网页版仿QQ实现在线聊天功能系统
- 银行利息计算公式推导(存款,贷款)
- 计算机房摆放布局,【机房】强弱电机房位置大小及布置(附案例)
- oracle10g搭建,Oracle 10g环境的搭建手册
热门文章
- mezzanine-一个功能强大且易于扩展性的Django框架构建的内容管理平台
- 怎么将计算机的触摸鼠标锁定,戴尔电脑怎么将触控板锁定?
- NLP - Gensim
- Vuecli中添加elementui插件
- 如何通过学习实现人生的逆袭!
- 头条php,基于PHP的免费新闻头条接口查询
- 计算机第一次开机进行重要设置很慢,为什么电脑第一次开机后总会自动关机,第二次开...
- 高等代数教材及学习指导书的推荐
- Java里的char类型能不能存储一个中文字符?
- LaTex论文排版 | (25) Latex 字母上面加符号 波浪线 横线 角号等