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购物车实时结算特效实现思路
Sep 23 Javascript
jQuery插件实现带圆点的焦点图片轮播切换
Jan 18 Javascript
通过正则表达式获取url中参数的简单实现
Jun 07 Javascript
整理关于Bootstrap过渡动画的慕课笔记
Mar 29 Javascript
js实现1,2,3,5数字按照概率生成
Sep 12 Javascript
vue弹窗消息组件的使用方法
Sep 24 Javascript
vue点击input弹出带搜索键盘并监听该元素的方法
Aug 25 Javascript
手动下载Chrome并解决puppeteer无法使用问题
Nov 12 Javascript
微信小程序自定义toast组件的方法详解【含动画】
May 11 Javascript
element-ui中按需引入的实现
Dec 25 Javascript
javascript设计模式 ? 中介者模式原理与用法实例分析
Apr 20 Javascript
Vue中inheritAttrs的使用实例详解
Dec 31 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 daddslashes 使用方法介绍
2012/10/26 PHP
处理单名多值表单的详解
2013/06/08 PHP
PHP 实现浏览记录并按日期分组
2017/05/11 PHP
JavaScript 版本自动生成文章摘要
2008/07/23 Javascript
jQuery 获取URL参数的插件
2010/03/04 Javascript
JS往数组中添加项性能分析
2015/02/25 Javascript
JS实现样式清新的横排下拉菜单效果
2015/10/09 Javascript
[原创]Bootstrap 中下拉菜单修改成鼠标悬停直接显示
2016/04/14 Javascript
DIV+CSS+jQ实现省市联动可扩展
2016/06/22 Javascript
完美解决UI-Grid表格元素中多个空格显示为一个空格的问题
2017/04/25 Javascript
Angular 2.x学习教程之结构指令详解
2017/05/25 Javascript
深入理解vue-loader如何使用
2017/06/06 Javascript
微信小程序“摇一摇”的实例代码
2017/07/20 Javascript
JS实现图片转换成base64的各种应用场景实例分析
2018/06/22 Javascript
微信小程序canvas拖拽、截图组件功能
2018/09/04 Javascript
浅谈vue方法内的方法使用this的问题
2018/09/15 Javascript
仿iPhone通讯录制作小程序自定义选择组件的实现
2019/05/23 Javascript
js实现计时器秒表功能
2019/12/16 Javascript
javascript中innerHTML 获取或替换html内容的实现代码
2020/03/17 Javascript
如何在vue 中引入使用jquery
2020/11/10 jQuery
[23:18]Spirit vs Liquid Supermajor小组赛A组 BO3 第二场 6.2
2018/06/03 DOTA
[01:02:07]Liquid vs Newbee 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
Python安装使用命令行交互模块pexpect的基础教程
2016/05/12 Python
python数据结构之链表详解
2017/09/12 Python
详解python如何在django中为用户模型添加自定义权限
2018/10/15 Python
用Python徒手撸一个股票回测框架搭建【推荐】
2019/08/05 Python
Python迭代器iterator生成器generator使用解析
2019/10/24 Python
python实现批量文件重命名
2019/10/31 Python
Python打印特殊符号及对应编码解析
2020/05/07 Python
加拿大最大的相机店:Henry’s
2017/05/17 全球购物
德国拖鞋网站:German Slippers
2019/11/08 全球购物
幼儿园义卖活动方案
2014/01/17 职场文书
《在山的那边》教学反思
2014/02/23 职场文书
《翻越远方的大山》教学反思
2014/04/13 职场文书
环境科学专业教师求职信
2014/07/12 职场文书
2016年优秀团支部事迹材料
2016/02/26 职场文书