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随机漂浮广告代码具体实例
Nov 19 Javascript
jquery基础教程之deferred对象使用方法
Jan 22 Javascript
JS的location.href跳出框架打开新页面的方法
Sep 04 Javascript
Javascript基于AJAX回调函数传递参数实例分析
Dec 15 Javascript
JS中mouseover和mouseout多次触发问题如何解决
Jun 06 Javascript
利用js来实现缩略语列表、文献来源链接和快捷键列表
Dec 16 Javascript
javascript 跨域问题以及解决办法
Jul 17 Javascript
vue.js声明式渲染和条件与循环基础知识
Jul 31 Javascript
解决npm安装Electron缓慢网络超时导致失败的问题
Feb 06 Javascript
vue-cli 3.0 版本与3.0以下版本在搭建项目时的区别详解
Dec 11 Javascript
基于vue 实现表单中password输入的显示与隐藏功能
Jul 19 Javascript
vue项目中播放rtmp视频文件流的方法
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
php注入实例
2006/10/09 PHP
php缓存技术介绍
2006/11/25 PHP
php中目录,文件操作详谈
2007/03/19 PHP
解析php获取字符串的编码格式的方法(函数)
2013/06/21 PHP
php中的静态变量的基本用法
2014/03/20 PHP
JS异常处理try..catch语句的作用和实例
2014/05/05 PHP
php实例分享之html转为rtf格式
2014/06/02 PHP
PHP实现时间比较和时间差计算的方法示例
2017/07/24 PHP
jquery实现动态画圆
2014/12/04 Javascript
JavaScript中的ArrayBuffer详细介绍
2014/12/08 Javascript
JQuery操作元素的css样式
2015/03/09 Javascript
jQuery UI设置固定日期选择特效代码分享
2015/08/27 Javascript
jQuery实现的导航下拉菜单效果示例
2016/09/05 Javascript
layer子层给父层页面元素赋值,以达到向父层页面传值的效果实例
2017/09/22 Javascript
webpack+vue中使用别名路径引用静态图片地址
2017/11/20 Javascript
vue实现打印功能的两种方法
2018/09/07 Javascript
JavaScript判断浏览器运行环境的详细方法
2019/06/30 Javascript
高效jQuery选择器的5个技巧实例分析
2019/11/26 jQuery
Vue实现简单计算器案例
2020/02/25 Javascript
Python学习小技巧之列表项的拼接
2017/05/20 Python
python抓取网页中链接的静态图片
2018/01/29 Python
对python多线程与global变量详解
2018/11/09 Python
python多线程抽象编程模型详解
2019/03/20 Python
Python使用字典实现的简单记事本功能示例
2019/08/15 Python
python实现证件照换底功能
2019/08/20 Python
python按顺序重命名文件并分类转移到各个文件夹中的实现代码
2020/07/21 Python
CSS改变网页中鼠标选中文字背景颜色例子
2014/04/23 HTML / CSS
纯CSS3制作漂亮带动画效果的主机价格表
2015/04/25 HTML / CSS
Penhaligon’s英国官网:成立于1870年的英国香水制造商
2021/02/18 全球购物
技校毕业生自荐信范文
2014/03/07 职场文书
岗位职责怎么写
2014/03/14 职场文书
美食节策划方案
2014/05/26 职场文书
小学生国庆节演讲稿
2014/09/05 职场文书
2014年学习委员工作总结
2014/11/14 职场文书
2014年度思想工作总结
2014/11/27 职场文书
亚布力滑雪场导游词
2015/02/09 职场文书