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 相关文章推荐
学习YUI.Ext 第二天
Mar 10 Javascript
豆瓣网的jquery代码实例
Jun 15 Javascript
js动态添加事件并可传参数示例代码
Oct 21 Javascript
浅析Node.js的Stream模块中的Readable对象
Jul 29 Javascript
浅谈AngularJs指令之scope属性详解
Oct 24 Javascript
JS常用知识点整理
Jan 21 Javascript
微信小程序如何获取用户信息
Jan 26 Javascript
vue.js 微信支付前端代码分享
Feb 10 Javascript
vue中v-model的应用及使用详解
Jun 27 Javascript
详解vue-cli3使用
Aug 14 Javascript
jQuery操作选中select下拉框的值代码实例
Feb 07 jQuery
vue项目中微信登录的实现操作
Sep 08 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
php的curl实现get和post的代码
2008/08/23 PHP
shopex中集成的站长统计功能的代码简单分析
2011/08/11 PHP
对PHP语言认识上需要避免的10大误区
2014/06/12 PHP
在WordPress中实现评论头像的自定义默认和延迟加载
2015/11/24 PHP
Zend Framework生成验证码并实现验证码验证功能(附demo源码下载)
2016/03/22 PHP
thinkPHP框架整合tcpdf插件操作示例
2018/08/07 PHP
用Javascript数组处理多个字符串的连接问题
2009/08/20 Javascript
两种常用的javascript数组去重方法思路及代码
2013/03/26 Javascript
查找Oracle高消耗语句的方法
2014/03/22 Javascript
15个常用的jquery代码片段
2015/12/19 Javascript
angular select 默认值设置方法
2017/06/23 Javascript
mongoose设置unique不生效问题的解决及如何移除unique的限制
2017/11/07 Javascript
vue-content-loader内容加载器的使用方法
2018/08/05 Javascript
JavaScript fetch接口案例解析
2018/08/30 Javascript
微信公众号平台接口开发 获取微信服务器IP地址方法解析
2019/08/14 Javascript
JS实现按比例缩小图片宽高
2020/08/24 Javascript
关于vue属性使用和不使用冒号的区别说明
2020/10/22 Javascript
[02:10]三分钟回顾完美世界城市挑战赛
2019/01/24 DOTA
Python实现模拟登录及表单提交的方法
2015/07/25 Python
python 3.6 +pyMysql 操作mysql数据库(实例讲解)
2017/12/20 Python
Python读取MRI并显示为灰度图像实例代码
2018/01/03 Python
python实现百万答题自动百度搜索答案
2018/01/16 Python
python发qq消息轰炸虐狗好友思路详解(完整代码)
2020/02/15 Python
Python sklearn库实现PCA教程(以鸢尾花分类为例)
2020/02/24 Python
css3实现书本翻页效果的示例代码
2021/03/08 HTML / CSS
护士毕业生自我鉴定
2014/02/08 职场文书
《囚绿记》教学反思
2014/03/01 职场文书
党性锻炼的心得体会
2014/09/03 职场文书
授权收款委托书范本
2014/10/10 职场文书
工作作风建设心得体会
2014/10/22 职场文书
公司股份合作协议书
2014/12/07 职场文书
教师旷工检讨书
2015/08/15 职场文书
2016年七夕爱情寄语
2015/12/04 职场文书
用基于python的appium爬取b站直播消费记录
2021/04/17 Python
Android Canvas绘制文字横纵向对齐
2022/06/05 Java/Android
python基础之//、/与%的区别详解
2022/06/10 Python