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 相关文章推荐
下拉列表选择项的选中在不同浏览器中的兼容性问题探讨
Sep 18 Javascript
js onload处理html页面加载之后的事件
Oct 30 Javascript
jquery实现的网页自动播放声音
Apr 30 Javascript
javascript Deferred和递归次数限制实例
Oct 21 Javascript
node.js中的fs.fstatSync方法使用说明
Dec 15 Javascript
Jquery动态添加输入框的方法
May 29 Javascript
原生js仿jquery实现对Ajax的封装
Oct 04 Javascript
Bootstrap的modal拖动效果
Dec 25 Javascript
Vue 仿QQ左滑删除组件功能
Mar 12 Javascript
浅谈JavaScript 代码整洁之道
Oct 23 Javascript
微信小程序服务器日期格式化问题
Jan 07 Javascript
原生js实现下拉框选择组件
Jan 20 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设计模式之命令模式的应用详解
2013/05/21 PHP
php 判断字符串中是否包含html标签
2014/02/17 PHP
php实现的Timer页面运行时间监测类
2014/09/24 PHP
PHP5.2中PDO的简单使用方法
2016/03/25 PHP
跟着JQuery API学Jquery 之三 筛选
2010/04/09 Javascript
jquery 的 $("#id").html() 无内容的解决方法
2010/06/07 Javascript
js实现iGoogleDivDrag模块拖动层拖动特效的方法
2015/03/04 Javascript
js代码验证手机号码和电话号码是否合法
2015/07/30 Javascript
JS实现同一个网页布局滑动门和TAB选项卡实例
2015/09/23 Javascript
jquery zTree异步加载简单实例讲解
2016/02/25 Javascript
JavaScript数值千分位格式化的两种简单实现方法
2016/08/01 Javascript
bootstrap模态框示例代码分享
2017/05/17 Javascript
jquery鼠标悬停导航下划线滑出效果
2017/09/29 jQuery
利用js实现前后台传送Json的示例代码
2018/03/29 Javascript
layui 设置table 行的高度方法
2018/08/17 Javascript
使用 vue 实例更好的监听事件及vue实例的方法
2019/04/22 Javascript
Vue Router history模式的配置方法及其原理
2019/05/30 Javascript
vue项目实现图片上传功能
2019/12/23 Javascript
JS实现百度搜索框关键字推荐
2020/02/17 Javascript
[02:00]DAC2018主宣传片——龙征四海,剑问东方
2018/03/20 DOTA
python实现进程间通信简单实例
2014/07/23 Python
Windows下安装Django框架的方法简明教程
2018/03/28 Python
解决python中导入win32com.client出错的问题
2019/07/26 Python
Python如何实现动态数组
2019/11/02 Python
基于Python生成个性二维码过程详解
2020/03/05 Python
您的健身减肥和健康饮食专家:vitafy
2017/06/06 全球购物
出门问问全球官方商城:Tichome音箱和TicWatch智能手表
2017/12/02 全球购物
委托书样本
2014/04/02 职场文书
优秀团员事迹材料1500字
2014/08/31 职场文书
2014年国庆节演讲稿
2014/09/02 职场文书
2014客服代表实习自我鉴定
2014/09/18 职场文书
领导干部四风问题自我剖析材料
2014/09/25 职场文书
干部职工纪律作风整改措施思想汇报
2014/10/11 职场文书
先进工作者申报材料
2014/12/23 职场文书
民事上诉状范文
2015/05/22 职场文书
项目中Nginx多级代理是如何获取客户端的真实IP地址
2022/05/30 Servers