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 相关文章推荐
初窥JQuery(一)jquery选择符 必备知识点
Nov 25 Javascript
浅谈js的setInterval事件
Dec 05 Javascript
jQuery中:file选择器用法实例
Jan 04 Javascript
浅谈jQuery效果函数
Sep 16 Javascript
jQuery post数据至ashx实例详解
Nov 18 Javascript
详解JS中的快速排序与冒泡
Jan 10 Javascript
jQuery代码实现实时获取时间
Jan 29 Javascript
浅谈vuex之mutation和action的基本使用
Aug 29 Javascript
JS实现图片转换成base64的各种应用场景实例分析
Jun 22 Javascript
vue使用Proxy实现双向绑定的方法示例
Mar 20 Javascript
webpack+express实现文件精确缓存的示例代码
Jun 11 Javascript
vue从后台渲染文章列表以及根据id跳转文章详情详解
Dec 14 Vue.js
基于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
《心理测量者3》剧场版动画预告
2020/03/02 日漫
PHP脚本的10个技巧(2)
2006/10/09 PHP
解析Win7 XAMPP apache无法启动的问题
2013/06/26 PHP
ThinkPHP添加更新标签的方法
2014/12/05 PHP
php文件上传简单实现方法
2015/01/24 PHP
windows下apache搭建php开发环境
2015/08/27 PHP
Zend Framework动作助手FlashMessenger用法详解
2016/03/05 PHP
php in_array() 检查数组中是否存在某个值详解
2016/11/23 PHP
phpQuery采集网页实现代码实例
2020/04/02 PHP
jQuery实现锚点scoll效果实例分析
2015/03/10 Javascript
jquery实现图片随机排列的方法
2015/05/04 Javascript
jquery实现异步加载图片(懒加载图片一种方式)
2017/04/24 jQuery
JS判断Android、iOS或浏览器的多种方法(四种方法)
2017/06/29 Javascript
Vue2.0 多 Tab切换组件的封装实例
2017/07/28 Javascript
详解如何使用 vue-cli 开发多页应用
2017/12/16 Javascript
vue实现弹框遮罩点击其他区域弹框关闭及v-if与v-show的区别介绍
2018/09/29 Javascript
基于Proxy的小程序状态管理实现
2019/06/14 Javascript
Json实现传值到后台代码实例
2020/06/30 Javascript
vue 添加和编辑用同一个表单,el-form表单提交后清空表单数据操作
2020/08/03 Javascript
[58:29]DOTA2-DPC中国联赛 正赛 Phoenix vs XG BO3 第一场 1月31日
2021/03/11 DOTA
在Python中操作字符串之startswith()方法的使用
2015/05/20 Python
python爬虫获取京东手机图片的图文教程
2017/12/29 Python
Python实现读取txt文件并转换为excel的方法示例
2018/05/17 Python
Python实现处理逆波兰表达式示例
2018/07/30 Python
python自动化生成IOS的图标
2018/11/13 Python
Python基于Tkinter模块实现的弹球小游戏
2018/12/27 Python
Pycharm小白级简单使用教程
2020/01/08 Python
利用python绘制数据曲线图的实现
2020/04/09 Python
python 画图 图例自由定义方式
2020/04/17 Python
Python调用C/C++的方法解析
2020/08/05 Python
丹麦优惠购物网站:PLUSSHOP
2019/03/24 全球购物
Deux par Deux官方网站:设计师童装
2020/01/03 全球购物
社区七一党员活动方案
2014/01/25 职场文书
财务科科长岗位职责
2014/03/10 职场文书
2015年小学远程教育工作总结
2015/07/28 职场文书
开学季:喜迎新生,迎新标语少不了
2019/11/07 职场文书