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 相关文章推荐
最新优化收藏到网摘代码(digg,diigo)
Feb 07 Javascript
一个关于jqGrid使用的小例子(行按钮)
Nov 04 Javascript
js判断FCKeditor内容是否为空的两种形式
May 14 Javascript
css+js实现部分区域高亮可编辑遮罩层
Mar 04 Javascript
SeaJS 与 RequireJS 的差异对比
Dec 08 Javascript
javascript中键盘事件用法实例分析
Jan 30 Javascript
node.js操作mongodb学习小结
Apr 25 Javascript
BootStrap中Datepicker控件带中文的js文件
Aug 10 Javascript
js获取当前页的URL与window.location.href简单方法
Feb 13 Javascript
VsCode插件整理(小结)
Sep 14 Javascript
js事件on动态绑定数据,绑定多个事件的方法
Sep 15 Javascript
解决vue scoped scss 无效的问题
Sep 04 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
yii2.0实现pathinfo的形式访问的配置方法
2016/04/06 PHP
浅谈PHP正则中的捕获组与非捕获组
2016/07/18 PHP
让JavaScript拥有类似Lambda表达式编程能力的方法
2010/09/12 Javascript
基于jquery的使ListNav兼容中文首字拼音排序的实现代码
2011/07/10 Javascript
jQuery侧边栏随窗口滚动实现方法
2013/03/04 Javascript
在页面中js获取光标/鼠标的坐标及光标的像素坐标
2013/11/11 Javascript
JavaScript中判断对象类型的几种方法总结
2013/11/11 Javascript
iframe调用父页面函数示例详解
2014/07/17 Javascript
JavaScript设计模式之工厂方法模式介绍
2014/12/28 Javascript
JavaScript生成验证码并实现验证功能
2016/09/24 Javascript
BootStrap 可编辑表Table格
2016/11/24 Javascript
gulp加批处理(.bat)实现ng多应用一键自动化构建
2017/02/16 Javascript
JavaScript函数参数的传递方式详解
2017/03/06 Javascript
基于JS实现仿京东搜索栏随滑动透明度渐变效果
2017/07/10 Javascript
对vue v-if v-else-if v-else 的简单使用详解
2018/09/29 Javascript
Angular8路由守卫原理和使用方法
2019/08/29 Javascript
简单了解JavaScript sort方法
2019/11/25 Javascript
Vue微信公众号网页分享的示例代码
2020/05/28 Javascript
jQuery实现推拉门效果
2020/10/19 jQuery
[02:04]2014DOTA2国际邀请赛 DK一个时代的落幕
2014/07/21 DOTA
Python做文本按行去重的实现方法
2016/10/19 Python
python判断一个集合是否为另一个集合的子集方法
2018/05/04 Python
浅谈解除装饰器作用(python3新增)
2018/10/15 Python
解析python的局部变量和全局变量
2019/08/15 Python
Numpy 多维数据数组的实现
2020/06/18 Python
如何在Anaconda中打开python自带idle
2020/09/21 Python
解决pycharm导入numpy包的和使用时报错:RuntimeError: The current Numpy installation (‘D:\\python3.6\\lib\\site-packa的问题
2020/12/08 Python
详解HTML5中download属性的应用
2015/08/06 HTML / CSS
捷克家具销售网站:SCONTO Nábytek
2020/01/02 全球购物
计算机专业毕业生求职信分享
2013/12/24 职场文书
水电站项目建议书
2014/05/12 职场文书
电子商务专业应届生求职信
2014/05/28 职场文书
酒店周年庆活动方案
2014/08/21 职场文书
2014年终工作总结范本
2014/12/15 职场文书
2016年小学教师政治学习心得体会
2016/01/23 职场文书
Pytorch 实现变量类型转换
2021/05/17 Python