浅谈vue中resetFields()使用注意事项


Posted in Javascript onAugust 12, 2020

this.$refs.frmAdd.resetFields();这句在使用中有些时候不会有啥问题,但有时候就会出问题,而且特别难缠,我原来这么使用就没问题啊,怎么这里就会有问题,查找各种资料总结得出:

第一种情况:放在弹框刚准备弹出的时候

浅谈vue中resetFields()使用注意事项

第二种情况:放在弹框关闭方法@close中

发现上次报红框的地方仍然在,并未重置

最终解决方案:

this.KaTeX parse error: Expected '}', got 'EOF' at end of input: … this.refs.frmAdd.resetFields(); });

可以放在准备开始弹出弹框时的方法中

补充知识:vue-element-ui 中 form resetFields并没有清空表单

问题背景

vue-element-ui 中 form中有个清空表单的方法,即假如给表单一个ref='form', 则清空表单的方法为this.$refs['form'].resetFields()

可当我在dialog组件中用这个方法的时候,这就出现问题了,居然清空不了~~~~~

问题所在

问题的本质是因为你编辑时,第一次打开dialog的时候给表单绑定的form赋值了,这时候这个form的初始值就变成了你所赋值的值,所以resetFields的时候,会将form对应的每个值重置到初始值,这时候的初始值就是你编辑时赋值的那个值, 而不是在data里声明的初始值,

如表单绑定的值为:

form: {
 age: 0,
 name: ''
}

但在你打开dialog编辑的时候,你又对它进行赋值,如

this.form = {
 age:23,
 name:"lala"
}

这个时候form表单会默认这个新赋的值为初始值

解决

解决方式是,等dialog已经初始化之后再给form赋值,也就是

this.$nextTick(() => { // 这里开始赋值 this.form.xxx = xxx; })

以上这篇浅谈vue中resetFields()使用注意事项就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js 图片等比例缩放代码
May 13 Javascript
JavaScript对象链式操作代码(jquery)
Jul 04 Javascript
Jquery实现简单的动画效果代码
Mar 18 Javascript
jquery中对于批量deferred的处理方法
Jan 22 Javascript
Easyui的组合框的取值与赋值
Oct 28 Javascript
用Angular实时获取本地Localstorage数据,实现一个模拟后台数据登入的效果
Nov 09 Javascript
原生js实现验证码功能
Mar 16 Javascript
分析JS中this引发的bug
Dec 12 Javascript
vue实现nav导航栏的方法
Dec 13 Javascript
p5.js实现动态图形临摹
Oct 23 Javascript
Vuex中实现数据状态查询与更改
Nov 08 Javascript
JS求解两数之和算法详解
Apr 28 Javascript
VUE 实现element upload上传图片到阿里云
Aug 12 #Javascript
快速解决Vue、element-ui的resetFields()方法重置表单无效的问题
Aug 12 #Javascript
vue-router 2.0 跳转之router.push()用法说明
Aug 12 #Javascript
详谈Vue.js框架下main.js,App.vue,page/index.vue之间的区别
Aug 12 #Javascript
AngularJs的$http发送POST请求,php无法接收Post的数据问题及解决方案
Aug 13 #Javascript
VsCode里的Vue模板的实现
Aug 12 #Javascript
typescript配置alias的详细步骤
Aug 12 #Javascript
You might like
PHP strtok()函数的优点分析
2010/03/02 PHP
php读取纯真ip数据库使用示例
2014/01/26 PHP
简单的php中文转拼音的实现代码
2014/02/11 PHP
php的4种常见运行方式
2015/03/20 PHP
基于jquery的一个浮动框(扩展性比较好 )
2010/08/27 Javascript
兼容主流浏览器的iframe自适应高度js脚本
2014/01/10 Javascript
javascript设置文本框光标的方法实例小结
2016/11/04 Javascript
Bootstrap CSS组件之大屏幕展播
2016/12/17 Javascript
JQuery Dialog对话框 不能通过Esc关闭的原因分析及解决办法
2017/01/18 Javascript
详解使用grunt完成requirejs的合并压缩和js文件的版本控制
2017/03/02 Javascript
JS实现的自动打字效果示例
2017/03/10 Javascript
Bootstrap Table使用整理(四)之工具栏
2017/06/09 Javascript
VueJs 将接口用webpack代理到本地的方法
2017/11/27 Javascript
vue 界面刷新数据被清除 localStorage的使用详解
2018/09/16 Javascript
vue-router命名路由和编程式路由传参讲解
2019/01/19 Javascript
vue-form表单验证是否为空值的实例详解
2019/10/29 Javascript
[16:14]教你分分钟做大人:米拉娜(HEROS)
2014/11/24 DOTA
python 输出一个两行字符的变量
2009/02/05 Python
使用python提取html文件中的特定数据的实现代码
2013/03/24 Python
Python中比较特别的除法运算和幂运算介绍
2015/04/05 Python
使用python绘制常用的图表
2016/08/27 Python
python中requests和https使用简单示例
2018/01/18 Python
tensorflow: 查看 tensor详细数值方法
2018/06/13 Python
Dlib+OpenCV深度学习人脸识别的方法示例
2019/05/14 Python
Python如何基于rsa模块实现非对称加密与解密
2020/01/03 Python
Python3自定义http/https请求拦截mitmproxy脚本实例
2020/05/11 Python
德国运动营养和健身网上商店:Myprotein.de
2018/07/18 全球购物
Nike澳大利亚官网:Nike.com (AU)
2019/06/03 全球购物
UDP协议功能
2013/01/06 面试题
简述安装Slackware Linux系统的过程
2012/05/08 面试题
学生爱国演讲稿
2014/01/14 职场文书
2014年秋季开学典礼主持词
2014/08/02 职场文书
敬老月活动总结
2014/08/28 职场文书
玩手机检讨书1000字
2014/10/20 职场文书
升学宴学生致辞
2015/09/29 职场文书
哪类餐饮行业,最适合在高校创业?
2019/08/19 职场文书