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 相关文章推荐
js数组去重的5种算法实现
Nov 04 Javascript
页面向下滚动ajax获取数据的实现方法(兼容手机)
May 24 Javascript
微信小程序上滑加载下拉刷新(onscrollLower)分批加载数据(二)
May 11 Javascript
Angular2中如何使用ngx-translate进行国际化
May 21 Javascript
JavaScript对象_动力节点Java学院整理
Jun 23 Javascript
详解vue渲染函数render的使用
Dec 12 Javascript
使用命令行工具npm新创建一个vue项目的方法
Dec 27 Javascript
Javascript 实现 Excel 导入生成图表功能
Oct 22 Javascript
浅谈webpack devtool里的7种SourceMap模式
Jan 14 Javascript
JS实现电商商品展示放大镜特效
Jan 07 Javascript
React.js组件实现拖拽排序组件功能过程解析
Apr 27 Javascript
JavaScript常用工具函数汇总(浏览器环境)
Sep 17 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
了解Joomla 这款来自国外的php网站管理系统
2010/03/11 PHP
php 上传文件类型判断函数(避免上传漏洞 )
2010/06/08 PHP
php 网上商城促销设计实例代码
2012/02/17 PHP
php遍历树的常用方法汇总
2015/06/18 PHP
php实现的AES加密类定义与用法示例
2018/01/29 PHP
laravel 实现向公共模板中传值 (view composer)
2019/10/22 PHP
javascript 正则替换 replace(regExp, function)用法
2010/05/22 Javascript
javascript完美拖拽的实现方法
2013/09/29 Javascript
js实现图片拖动改变顺序附图
2014/05/13 Javascript
原生js实现日期联动
2015/01/12 Javascript
JS实现跟随鼠标立体翻转图片的方法
2015/05/04 Javascript
JavaScript合并两个数组并去除重复项的方法
2015/06/13 Javascript
js实现的万能flv网页播放器代码
2016/04/30 Javascript
AngularJs ng-route路由详解及实例代码
2016/09/14 Javascript
Vue.js -- 过滤器使用总结
2017/02/18 Javascript
ES6学习笔记之Set和Map数据结构详解
2017/04/07 Javascript
基于JS对象创建常用方式及原理分析
2017/06/28 Javascript
使用D3.js制作图表详解
2017/08/13 Javascript
浅谈Angular HttpClient简单入门
2018/05/04 Javascript
js继承的这6种方式!(上)
2019/04/23 Javascript
[04:03]2014DOTA2西雅图国际邀请赛 LGD战队巡礼
2014/07/07 DOTA
[58:21]DOTA2亚洲邀请赛 4.3 突围赛 Liquid vs VGJ.T 第二场
2018/04/04 DOTA
python安装与使用redis的方法
2016/04/19 Python
windows下Virtualenvwrapper安装教程
2017/12/13 Python
centos6.5安装python3.7.1之后无法使用pip的解决方案
2019/02/14 Python
Python实现读取txt文件中的数据并绘制出图形操作示例
2019/02/26 Python
pytorch 可视化feature map的示例代码
2019/08/20 Python
python-web根据元素属性进行定位的方法
2019/12/13 Python
Python表达式的优先级详解
2020/02/18 Python
深入了解Python enumerate和zip
2020/07/16 Python
python 实现网易邮箱邮件阅读和删除的辅助小脚本
2021/03/01 Python
实例教程 利用html5和css3打造一款创意404页面
2014/10/20 HTML / CSS
自主招生自荐书
2013/11/29 职场文书
学徒工职责
2014/03/06 职场文书
新店开张活动方案
2014/08/24 职场文书
2015高三毕业寄语赠言
2015/02/27 职场文书