iview form清除校验状态的实现


Posted in Javascript onSeptember 19, 2019

有个需求,要求对输入框进行 启用/禁用 的切换,同时在禁用时要清除输入框的校验状态(那个红框)。

方法一:修改 formItem 字段属性

在iview 的官方api 中并没找到清除校验状态的方法,看了下源码,用一个粗糙的方法解决了。

源文件 form-item.vue 中的 resetField方法 是通过修改这两个属性的值清空状态和提示的
iview form清除校验状态的实现

其实就是把 formItem 的两个属性值进行了修改,
v.validateDisabled 是否校验
v.validateState 展示状态(校验错误时此处值为 'error')
v.validateMessage 错误提示文字

iview form清除校验状态的实现

修改状态的同时需要把校验规则清掉,否则在提交时还会再次触发校验方法。

方法二:控制 form 渲染

后来在置空校验规则的时候,初始如果没有规则的话,则不会校验(除非去点击提交按钮),然后想到用 v-if 控制 form 的渲染时机,当校验规则发生变化的时候重新渲染,这样就能保证规则和 DOM 是同步的,也不用费力去修改属性

这时就用到了 Promise(真是个好东西),超简单的做了个 callback,每次切换控制按钮都进行这么一套渲染(主要还是代码中调用这个方法的地方太多,懒的去改),也是粗暴的把这个需求对付上了。

iview form清除校验状态的实现

后续研究一下,在原基础上增加一个方法专门用来清除状态 ^_^

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
html+js实现动态显示本地时间
Sep 21 Javascript
js中单引号与双引号冲突问题解决方法
Oct 04 Javascript
js打开新窗口方法整理
Feb 17 Javascript
Js获取下拉框选定项的值和文本的实现代码
Feb 26 Javascript
纯javascript实现简单下拉刷新功能
Mar 13 Javascript
JavaScript图片轮播代码分享
Jul 31 Javascript
AngularJS 面试题集锦
Sep 06 Javascript
Node.js中使用mongoose操作mongodb数据库的方法
Sep 12 Javascript
JavaScript DOM元素常见操作详解【添加、删除、修改等】
May 09 Javascript
原生JS实现动态加载js文件并在加载成功后执行回调函数的方法
Dec 30 Javascript
vuejs点击class变化的实例
Sep 05 Javascript
no-vnc和node.js实现web远程桌面的完整步骤
Aug 11 Javascript
对layui中table组件工具栏的使用详解
Sep 19 #Javascript
layui自定义工具栏的方法
Sep 19 #Javascript
Node 代理访问的实现
Sep 19 #Javascript
浅谈laytpl 模板空值显示null的解决方法及简单的js表达式
Sep 19 #Javascript
微信小程序进入广告实现代码实例
Sep 19 #Javascript
解决layui数据表格Date日期格式的回显Object的问题
Sep 19 #Javascript
转换layUI的数据表格中的日期格式方法
Sep 19 #Javascript
You might like
人族 TERRAN 概述
2020/03/14 星际争霸
php error_log 函数的使用
2009/04/13 PHP
PHP异常Parse error: syntax error, unexpected T_VAR错误解决方法
2014/05/06 PHP
利用PHP获取网站访客的所在地位置
2017/01/18 PHP
cnblogs 代码高亮显示后的代码复制问题解决实现代码
2011/12/14 Javascript
JQuery触发事件例如click
2013/09/11 Javascript
javascript + jquery实现定时修改文章标题
2014/03/19 Javascript
为JS扩展Array.prototype.indexOf引发的问题及解决办法
2015/01/21 Javascript
Javascript中拼接大量字符串的方法
2015/02/05 Javascript
Javascript中replace()小结
2015/09/30 Javascript
基于JS实现的笛卡尔乘积之商品发布
2016/05/13 Javascript
图文详解JavaScript的原型对象及原型链
2016/08/02 Javascript
Bootstarp在pycharm中的安装及简单的使用方法
2019/04/19 Javascript
Vue 3.0双向绑定原理的实现方法
2019/10/23 Javascript
vue组件入门知识全梳理
2020/09/21 Javascript
jQuery实现推拉门效果
2020/10/19 jQuery
[00:52]黑暗之门更新 新英雄孽主驾临DOTA2
2016/08/24 DOTA
python基础教程之字典操作详解
2014/03/25 Python
零基础写python爬虫之HTTP异常处理
2014/11/05 Python
Python中Django发送带图片和附件的邮件
2017/03/31 Python
Python中那些 Pythonic的写法详解
2019/07/02 Python
Python使用mongodb保存爬取豆瓣电影的数据过程解析
2019/08/14 Python
Windows下实现将Pascal VOC转化为TFRecords
2020/02/17 Python
用opencv给图片换背景色的示例代码
2020/07/08 Python
python批量生成条形码的示例
2020/10/10 Python
纯css3实现宠物小鸡实例代码
2018/10/08 HTML / CSS
TOWER London官网:鞋子、靴子、运动鞋等
2019/07/14 全球购物
欧克利英国官网:Oakley英国
2019/08/24 全球购物
审计主管岗位职责
2014/01/31 职场文书
大学新生军训自我鉴定
2014/03/18 职场文书
爱牙日活动总结
2014/08/29 职场文书
员工离职感谢信
2015/01/22 职场文书
2015年度个人教学工作总结
2015/05/20 职场文书
Java异常处理try catch的基本用法
2021/12/06 Java/Android
优化Mysql查询的示例
2022/04/26 MySQL
Win11 21h2可以升级22h2吗?看看你的电脑符不符合要求
2022/07/07 数码科技