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 验证密码强弱的小例子
Mar 21 Javascript
JS自动适应的图片弹窗实例
Jun 29 Javascript
Javascript学习笔记之数组的遍历和 length 属性
Nov 23 Javascript
JavaScript返回上一页的三种方法及区别介绍
Jul 04 Javascript
js实现类似MSN提示的页面效果代码分享
Aug 24 Javascript
微信小程序之ES6与事项助手的功能实现
Nov 30 Javascript
js自定义QQ菜单效果
Jan 10 Javascript
js replace()去除代码中空格的实例
Feb 14 Javascript
jQuery实现模糊搜索功能的方法分析
Jun 29 jQuery
微信小程序WebSocket实现聊天对话功能
Jul 06 Javascript
webpack4 从零学习常用配置(小结)
May 28 Javascript
Vue通过provide inject实现组件通信
Sep 03 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常用代码大全(新手入门必备)
2010/06/29 PHP
用PHP实现的四则运算表达式计算实现代码
2011/08/02 PHP
destoon实现会员商铺中指定会员或会员组投放广告的方法
2014/08/21 PHP
PHP获取表单所有复选框的值的方法
2014/08/28 PHP
PHP制作3D扇形统计图以及对图片进行缩放操作实例
2014/10/23 PHP
smarty内置函数config_load用法实例
2015/01/22 PHP
php面向对象值单例模式
2016/05/03 PHP
PHP获取链表中倒数第K个节点的方法
2018/01/18 PHP
Javascript的闭包
2009/12/31 Javascript
jQuery后代选择器用法实例
2014/12/23 Javascript
Bootstrap每天必学之栅格系统(布局)
2015/11/25 Javascript
基于JS实现Android,iOS一个手势动画效果
2016/04/27 Javascript
原生JavaScript实现精美的淘宝轮播图效果示例【附demo源码下载】
2017/05/27 Javascript
AngularJS解决ng-if中的ng-model值无效的问题
2017/06/21 Javascript
js实现登录注册框手机号和验证码校验(前端部分)
2017/09/28 Javascript
详解vuex commit保存数据技巧
2018/12/25 Javascript
JavaScript继承的特性与实践应用深入详解
2018/12/30 Javascript
vue实现百度下拉列表交互操作示例
2019/03/12 Javascript
vue如何实现动态加载脚本
2020/02/05 Javascript
Vue移动端项目实现使用手机预览调试操作
2020/07/18 Javascript
详谈Vue.js框架下main.js,App.vue,page/index.vue之间的区别
2020/08/12 Javascript
原生js实现滑块区间组件
2021/01/20 Javascript
[00:08]DOTA2勇士令状等级奖励“天外飞星”
2019/05/24 DOTA
python 设置xlabel,ylabel 坐标轴字体大小,字体类型
2019/07/23 Python
使用Python给头像戴上圣诞帽的图像操作过程解析
2019/09/20 Python
python json.dumps中文乱码问题解决
2020/04/01 Python
django 模型字段设置默认值代码
2020/07/15 Python
13个Pandas实用技巧,助你提高开发效率
2020/08/19 Python
韩国三星旗下的一家超市连锁店:Home Plus
2016/07/30 全球购物
Blancsom美国/加拿大:服装和生活用品供应商
2018/07/27 全球购物
大课间活动实施方案
2014/03/06 职场文书
《美丽的丹顶鹤》教学反思
2014/04/22 职场文书
化工实习心得体会
2014/09/09 职场文书
行政工作试用期自我评价
2014/09/14 职场文书
2014年环保工作总结
2014/11/26 职场文书
解决sql server 数据库,sa用户被锁定的问题
2021/06/11 SQL Server