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 相关文章推荐
sina的lightbox效果。
Jan 09 Javascript
一个简单的jQuery插件制作 学习过程及实例
Apr 25 Javascript
struts2+jquery+json实现异步加载数据(自写)
Jun 24 Javascript
js导航栏单击事件背景变换示例代码
Jan 13 Javascript
jQuery 写的简单打字游戏可以提示正确和错误的次数
Jul 01 Javascript
jQuery实现单击和鼠标感应事件
Feb 01 Javascript
node.js操作mysql(增删改查)
Jul 24 Javascript
JavaScript判断对象是否为数组
Dec 22 Javascript
JS字符串的切分用法实例
Feb 22 Javascript
手机图片预览插件photoswipe.js使用总结
Aug 25 Javascript
微信小程序 选项卡的简单实例
May 24 Javascript
JS实现进度条动态加载特效
Mar 25 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生成UTF8文件的方法
2010/05/15 PHP
Ubuntu server 11.04安装memcache及php使用memcache来存储session的方法
2016/05/31 PHP
基于jQuery的ajax功能实现web service的json转化
2009/08/29 Javascript
基于jQuery的360图片展示实现代码
2012/06/14 Javascript
table行随鼠标移动变色示例
2014/05/07 Javascript
AngularJS ng-bind 指令简单实现
2016/07/30 Javascript
微信小程序 wxapp画布 canvas详细介绍
2016/10/31 Javascript
使用BootStrap实现标签切换原理解析
2017/03/14 Javascript
js使用highlight.js高亮你的代码
2017/08/18 Javascript
详解VueJS应用中管理用户权限
2018/02/02 Javascript
JS实现数组的增删改查操作示例
2018/08/29 Javascript
Mint UI组件库CheckList使用及踩坑总结
2018/12/20 Javascript
利用不到200行代码写一款属于你自己的js类库
2019/07/08 Javascript
Element中Slider滑块的具体使用
2020/07/29 Javascript
在Django的模型和公用函数中使用惰性翻译对象
2015/07/27 Python
JavaScript中的模拟事件和自定义事件实例分析
2018/07/27 Python
Python3实现从排序数组中删除重复项算法分析
2019/04/03 Python
Python模块、包(Package)概念与用法分析
2019/05/31 Python
python使用 zip 同时迭代多个序列示例
2019/07/06 Python
python实现生成Word、docx文件的方法分析
2019/08/30 Python
python科学计算之narray对象用法
2019/11/25 Python
Python原始套接字编程实例解析
2020/01/29 Python
浅析matlab中imadjust函数
2020/02/27 Python
Python字符串split及rsplit方法原理详解
2020/06/29 Python
python Tornado框架的使用示例
2020/10/19 Python
StubHub哥伦比亚:购买和出售您的门票
2016/10/20 全球购物
您在慕尼黑的跑步商店:Lauf-bar
2019/10/11 全球购物
游戏商店:Eneba
2020/04/25 全球购物
Oracle中delete,truncate和drop的区别
2016/05/05 面试题
给民警的表扬信
2014/01/08 职场文书
班长自荐书范文
2014/02/11 职场文书
2016思想纪律作风整顿心得体会
2016/01/23 职场文书
《社戏》教学反思
2016/02/22 职场文书
Css预编语言及区别详解
2021/04/25 HTML / CSS
Python中可变和不可变对象的深入讲解
2021/08/02 Python
【TED出品】天梯非主流开心游1700 划水骑士
2022/03/31 魔兽争霸