Vue ElementUi同时校验多个表单(巧用new promise)


Posted in Javascript onJune 06, 2018

前言

有ABCD四个表单,提交的时候同时校验(是的,后台管理系统的需求就是这样),巧用new promise。

实现的方法有很多种,我讲下自己觉得比较优雅的方式,欢迎各位大大的指正哈。

代码

let formArr=['formA','formB','formC','formD']//假设这是四个form表单的ref
var resultArr=[]//用来接受返回结果的数组
var _self=this
 function checkForm(formName) { //封装验证表单的函数
  var result = new Promise(function(resolve, reject) {
    _self.$refs[formName].validate((valid) => {
      if (valid) {
        resolve();
      } else { reject() }
    })
  })
  resultArr.push(result) //push 得到promise的结果
}
formArr.forEach(item => { //根据表单的ref校验
    checkForm(item)
 })
Promise.all(resultArr).then(function() { //都通过了
  alert('恭喜你,表单全部验证通过啦')
}).catch(function() {
  console.log("err");
});

总结

以上所述是小编给大家介绍的Vue ElementUi同时校验多个表单(巧用new promise),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
借助javascript代码判断网页是静态还是伪静态
May 05 Javascript
Node.js本地文件操作之文件拷贝与目录遍历的方法
Feb 16 Javascript
jQuery animate和CSS3相结合实现缓动追逐效果附源码下载
Apr 18 Javascript
JavaScript实现获取远程的html到当前页面中
Mar 26 Javascript
Vue路由钩子之afterEach beforeEach的区别详解
Jul 15 Javascript
vue-router传递参数的几种方式实例详解
Nov 13 Javascript
Angular6使用forRoot() 注册单一实例服务问题
Aug 27 Javascript
Layui Form 自定义验证的实例代码
Sep 14 Javascript
微信小程序顶部导航栏可滑动并选中放大
Dec 05 Javascript
JS数组方法slice()用法实例分析
Jan 18 Javascript
jQuery单页面文字搜索插件jquery.fullsearch.js的使用方法
Feb 04 jQuery
Vue中 axios delete请求参数操作
Aug 25 Javascript
基于vue实现可搜索下拉框定制组件
Mar 26 #Javascript
深入浅析Vue中的 computed 和 watch
Jun 06 #Javascript
详解创建自定义的Angular Schematics
Jun 06 #Javascript
vue组件实现进度条效果
Jun 06 #Javascript
Express的HTTP重定向到HTTPS的方法
Jun 06 #Javascript
vue组件实现可搜索下拉框扩展
Oct 23 #Javascript
微信小程序实现美团菜单
Jun 06 #Javascript
You might like
PHP实现文件上传与下载实例与总结
2016/03/13 PHP
SCP远程VPS快速搬家和WDCP升级php5.3安装memcached和eaccelerator教程
2017/07/27 PHP
JS中彻底删除JSON对象组成的数组中的元素
2020/09/22 PHP
JS复制到剪贴板示例代码
2013/10/30 Javascript
form.submit()不能提交表单的原因分析
2014/10/23 Javascript
JavaScript获取指定元素位置的方法
2015/04/08 Javascript
javascript学习笔记之函数定义
2015/06/25 Javascript
Javascript编程之继承实例汇总
2015/11/28 Javascript
详解Angular 4 表单快速入门
2017/06/05 Javascript
浅谈es6中export和export default的作用及区别
2018/02/07 Javascript
浅谈Redux中间件的实践
2018/07/27 Javascript
Angular2之二级路由详解
2018/08/31 Javascript
JSON基本语法及与JavaScript的异同实例分析
2019/01/04 Javascript
jQuery实现合并表格单元格中相同行操作示例
2019/01/28 jQuery
在Python中使用dict和set方法的教程
2015/04/27 Python
python3制作捧腹网段子页爬虫
2017/02/12 Python
使用Django启动命令行及执行脚本的方法
2018/05/29 Python
解决python写入mysql中datetime类型遇到的问题
2018/06/21 Python
Django基础知识与基本应用入门教程
2018/07/20 Python
pandas.DataFrame删除/选取含有特定数值的行或列实例
2018/11/07 Python
Python中使用遍历在列表中添加字典遇到的坑
2019/02/27 Python
python实战串口助手_解决8串口多个发送的问题
2019/06/12 Python
python中类的输出或类的实例输出为这种形式的原因
2019/08/12 Python
Python从列表推导到zip()函数的5种技巧总结
2019/10/23 Python
用html5绘制折线图的实例代码
2016/03/25 HTML / CSS
经理秘书找工作求职信
2013/12/19 职场文书
人力资源部培训专员岗位职责
2014/01/02 职场文书
小小的船教学反思
2014/02/21 职场文书
自我鉴定总结
2014/03/24 职场文书
态度决定一切演讲稿
2014/05/20 职场文书
党员学习中共十八大报告思想汇报
2014/09/15 职场文书
法人委托书范本
2014/09/15 职场文书
新课程改革心得体会
2016/01/22 职场文书
css背景和边框标签实例详解
2021/05/21 HTML / CSS
golang三种设计模式之简单工厂、方法工厂和抽象工厂
2022/04/10 Golang
Mysql InnoDB 的内存逻辑架构
2022/05/06 MySQL