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 相关文章推荐
基于jQuery实现的水平和垂直居中的div窗口
Aug 08 Javascript
js传参数受特殊字符影响错误的解决方法
Oct 21 Javascript
JavaScript 判断用户输入的邮箱及手机格式是否正确
Dec 08 Javascript
深入探讨JavaScript String对象
Mar 09 Javascript
vue如何集成raphael.js中国地图的方法示例
Aug 15 Javascript
前端常见跨域解决方案(全)
Sep 19 Javascript
jQuery实现点击下拉框中的值累加到文本框中的方法示例
Oct 28 jQuery
详解react、redux、react-redux之间的关系
Apr 11 Javascript
Node.js实现简单的爬取的示例代码
Jun 25 Javascript
关于layui导航栏不展示下拉列表的解决方法
Sep 25 Javascript
Angular CLI发布路径的配置项浅析
Mar 29 Javascript
vue项目proxyTable配置和部署服务器
Apr 14 Vue.js
对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下一个非常全面获取图象信息的函数
2008/11/20 PHP
PHP开源开发框架ZendFramework使用中常见问题说明及解决方案
2014/06/12 PHP
微信小程序 消息推送php服务器验证实例详解
2017/03/30 PHP
三个思路解决laravel上传文件报错:413 Request Entity Too Large问题
2017/11/13 PHP
php反射学习之依赖注入示例
2019/06/14 PHP
javascript编程起步(第六课)
2007/02/27 Javascript
理解JavaScript中的对象 推荐
2011/01/09 Javascript
JQuery防止退格键网页后退的实现代码
2012/03/23 Javascript
动态加载iframe时get请求传递中文参数乱码解决方法
2014/05/07 Javascript
使用jQuery简单实现模拟浏览器搜索功能
2014/12/21 Javascript
jquery实现两边飘浮可关闭的对联广告
2015/11/27 Javascript
浅析BootStrap栅格系统
2016/06/07 Javascript
怎样判断jQuery当前元素是隐藏还是显示
2016/11/23 Javascript
Agularjs妙用双向数据绑定实现手风琴效果
2017/05/26 Javascript
WdatePicker.js时间日期插件的使用方法
2017/07/26 Javascript
javascript实现文件拖拽事件
2018/03/29 Javascript
解决Layui数据表格中checkbox位置不居中的方法
2018/08/15 Javascript
js中call()和apply()改变指针问题的讲解
2019/01/17 Javascript
微信小程序实现的绘制table表格功能示例
2019/04/26 Javascript
vue中js判断长时间不操作界面自动退出登录(推荐)
2020/01/22 Javascript
vue-cli3使用mock数据的方法分析
2020/03/16 Javascript
python 转换 Javascript %u 字符串为python unicode的代码
2016/09/06 Python
Python2.X/Python3.X中urllib库区别讲解
2017/12/19 Python
python如何使用unittest测试接口
2018/04/04 Python
Pycharm打开已有项目配置python环境的方法
2020/07/03 Python
Python logging日志模块 配置文件方式
2020/07/12 Python
linux mint中搜狗输入法导致pycharm卡死的问题
2020/10/28 Python
全方位了解CSS3的Regions扩展
2015/08/07 HTML / CSS
HTML5新增的表单元素和属性实例解析
2014/07/07 HTML / CSS
JENNIFER BEHR官网:各种耳环和发饰
2020/06/07 全球购物
Prototype如何实现页面局部定时刷新
2013/08/06 面试题
招聘单位介绍信
2014/01/14 职场文书
2015年世界水日活动总结
2015/02/09 职场文书
违反纪律检讨书范文
2015/05/07 职场文书
公司员工辞职信范文
2015/05/12 职场文书
只用40行Python代码就能写出pdf转word小工具
2021/05/31 Python