element-ui和vue表单(对话框)验证提示语(残留)清除操作


Posted in Javascript onSeptember 11, 2020

问题是这样的:

如果一个页面有多个按钮打开相同的element-ui的Dialog对话框,那么如果第一个点击"顺序"按钮出现红色验证提示语后, 再点击“取消”,或者点击页面空白处此对话框消失,而后再点击同一个“顺序”按钮亦或别的“顺序”按钮, 那么此红色提示依然存在,显然是无法忍受的,那么怎么去除呢,

element-ui和vue表单(对话框)验证提示语(残留)清除操作

这里也用到一个vue的一个语法watch,从字面意思上理解就是起到监控的作用,监控这个diaLog对话框的打开和关闭。

在 “ 代码一 ” vue中的data前面加上watch来监控对话框,对于function中的val,oldVla两个参数不必过多纠结,只要任意一个变量都可以,只是起到打开和关闭的暂存而已(个人理解)

在 “ 代码二 ” element-ui中定义一个 ref="form" 起到参照的作用(reference),watch中的form与此相对应,resetFields取自element-ui官网上的Form表单里的方法名, 看 “ 图二 ”官网截图

代码一、

let result = Vue.extend({
   name: 'recommend-list',
   template: template,
   watch: {
    dialogSequenceVisible: function (val,oldVla) {
     this.$refs["form"].resetFields();
    }
   },
   data() {
    let validateSequence = (rule, value, callback) => {
     let val = this.trim(value);
     if (val == '') {
      callback(new Error('顺序值不允许为空'));
     } else if (value > 9223372036854775807) {
      callback(new Error('顺序值不能超过9223372036854775807'));
     } else if (!this.isNumber(val)) {
      callback(new Error('必须输入正整数'));

代码二、

<el-dialog title="调整顺序" :visible.sync="dialogSequenceVisible" style="width:80%" @close='closeDialog'>
 
   <el-form label-width="200px" :model="form" style="margin:0 auto;" :rules="rules" ref="form">
 
    <el-form-item label="请输入调整的顺序值:"
        prop="sequence">
     <el-input v-model="form.sequence" style="width:200px" auto-complete="off"></el-input>
    </el-form-item>
 
   </el-form>
   <div slot="footer" class="dialog-footer">
    <el-button @click="dialogSequenceVisible = false">取 消</el-button>
    <el-button type="primary" @click="position()">确 定</el-button>
   </div>
  </el-dialog>

图二、

element-ui和vue表单(对话框)验证提示语(残留)清除操作

但是,这样会页面调试模式会报错 “ Cannot read property 'resetFields' of undefined ” 错误, 应该是第一次弹出dialog对话框的时候没有弄到DOM里, 需要修改vue中的watch代码, 做个限定. 这样不但可以清除提示语, 还可以清空输入框里内容残留, 如下:

let result = Vue.extend({
   name: 'recommend-list',
   template: template,
   watch: {
    dialogSequenceVisible: function (val,oldVla) {
     if (this.$refs['form'] != undefined) {
      this.$refs["form"].resetFields();
     }
    }
   },

补充知识:elementUI vue 编辑中的input的验证残留清除

当使用编辑的时候, 假如上次的验证没通过, 报红了, 下次再点击编辑的时候还会报红,因此要清除验证残留, 方式有两种:

this.$refs["from"].resetFields(); //移除校验结果并重置字段值

this.$refs["from"].clearValidate(); //移除校验结果

以上这篇element-ui和vue表单(对话框)验证提示语(残留)清除操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
不错的asp中显示新闻的功能
Oct 13 Javascript
从JavaScript 到 JQuery (1)学习小结
Feb 12 Javascript
js FLASH幻灯片字符串中有连接符&的处理方法
Mar 01 Javascript
jquery实现焦点图片随机切换效果的方法
Mar 12 Javascript
解决jquery插件:TypeError:$.browser is undefined报错的方法
Nov 21 Javascript
详解Wondows下Node.js使用MongoDB的环境配置
Mar 01 Javascript
vue router仿天猫底部导航栏功能
Oct 18 Javascript
浅谈Node模块系统及其模式
Nov 17 Javascript
JS实现的抛物线运动效果示例
Jan 30 Javascript
vue实现学生录入系统之添加删除功能
Jul 11 Javascript
详解Vue.js 可拖放文本框组件的使用
Mar 03 Vue.js
微信小程序实现拍照和相册选取图片
May 09 Javascript
基于element-ui对话框el-dialog初始化的校验问题解决
Sep 11 #Javascript
vue界面发送表情的实现代码
Sep 11 #Javascript
在vue中配置不同的代理同时访问不同的后台操作
Sep 11 #Javascript
vscode中的vue项目报错Property ‘xxx‘ does not exist on type ‘CombinedVueInstance<{ readyOnly...Vetur(2339)
Sep 11 #Javascript
Vue proxyTable配置多个接口地址,解决跨域的问题
Sep 11 #Javascript
关于ES6尾调用优化的使用
Sep 11 #Javascript
在js文件中引入(调用)另一个js文件的三种方法
Sep 11 #Javascript
You might like
mysql时区问题
2008/03/26 PHP
JS与PHP向函数传递可变参数的区别实例代码
2011/05/18 PHP
PHP根据IP判断地区名信息的示例代码
2014/03/03 PHP
PHP设计模式之适配器模式(Adapter)原理与用法详解
2019/12/12 PHP
JavaScript 大数据相加的问题
2011/08/03 Javascript
jQuery中使用Ajax获取JSON格式数据示例代码
2013/11/26 Javascript
JavaScript的null和undefined区别示例介绍
2014/09/15 Javascript
Javascript核心读书有感之词法结构
2015/02/01 Javascript
简介AngularJS的HTML DOM支持情况
2015/06/17 Javascript
Ionic实现页面下拉刷新(ion-refresher)功能代码
2016/06/03 Javascript
JavaScript与java语言有什么不同
2016/09/22 Javascript
怎样判断jQuery当前元素是隐藏还是显示
2016/11/23 Javascript
JS滚动到指定位置导航栏固定顶部
2017/07/03 Javascript
深入理解Vue生命周期、手动挂载及挂载子组件
2017/09/27 Javascript
在vue中使用vue-echarts-v3的实例代码
2018/09/13 Javascript
JavaScript数组去重的方法总结【12种方法,号称史上最全】
2019/02/28 Javascript
express + jwt + postMan验证实现持久化登录
2019/06/05 Javascript
python实现颜色rgb和hex相互转换的函数
2015/03/19 Python
python类的继承实例详解
2017/03/30 Python
Python3 伪装浏览器的方法示例
2017/11/23 Python
python使用jieba实现中文分词去停用词方法示例
2018/03/11 Python
Python猴子补丁知识点总结
2020/01/05 Python
Python使用Selenium模拟浏览器自动操作功能
2020/09/08 Python
详解Python中的Lock和Rlock
2021/01/26 Python
html5文字阴影效果text-shadow使用示例
2013/07/25 HTML / CSS
html5在移动端的屏幕适应问题示例探讨
2014/06/15 HTML / CSS
美国厨房和园艺工具网上商店:Nestneed
2019/08/24 全球购物
如何进行Linux分区优化
2013/02/12 面试题
党课学习思想汇报
2014/01/02 职场文书
2014年清明节网上祭英烈寄语
2014/04/09 职场文书
爱心捐款倡议书
2014/04/14 职场文书
实习单位评语
2014/04/26 职场文书
2015年酒店前台工作总结
2015/04/20 职场文书
2015年资料员工作总结
2015/04/25 职场文书
Java中常用解析工具jackson及fastjson的使用
2021/06/28 Java/Android
MySQL优化之慢日志查询
2022/06/10 MySQL