首页 >> js开发 >> js浅谈vue中resetFields()使用注意事项js大全
js浅谈vue中resetFields()使用注意事项js大全
发布时间: 2021年1月13日 | 浏览:
| 分类:js开发
this.$refs.frmAdd.resetFields();这句在使用中有些时候不会有啥问题,但有时候就会出问题,而且特别难缠,我原来这么使用就没问题啊,怎么这里就会有问题,查找各种资料总结得出:第一种情况:放在弹框刚准备弹出的时候第一种情况:放在弹框刚准备弹出的时候第二种情况:放在弹框关闭方法@close中第二种情况:放在弹框关闭方法@close中发现上次报红框的地方仍然在,并未重置最终解决方案:最终解决方案:
this.KaTeX parse error: Expected '}', got 'EOF' at end of input: … this.refs.frmAdd.resetFields(); });
this.KaTeX parse error: Expected '}', got 'EOF' at end of input: … this.refs.frmAdd.resetFields(); });可以放在准备开始弹出弹框时的方法中补充知识:vue-element-ui 中 form 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: ''
}
form: {
age: 0,
name: ''
}但在你打开dialog编辑的时候,你又对它进行赋值,如
this.form = {
age:23,
name:"lala"
}
this.form = {
age:23,
name:"lala"
}这个时候form表单会默认这个新赋的值为初始值解决解决解决方式是,等dialog已经初始化之后再给form赋值,也就是
this.$nextTick(() => { // 这里开始赋值 this.form.xxx = xxx; })
this.$nextTick(() => { // 这里开始赋值 this.form.xxx = xxx; })以上这篇浅谈vue中resetFields()使用注意事项就是小编分享给大家的全部内容了,希望能给大家一个参考。
this.KaTeX parse error: Expected '}', got 'EOF' at end of input: … this.refs.frmAdd.resetFields(); });
this.KaTeX parse error: Expected '}', got 'EOF' at end of input: … this.refs.frmAdd.resetFields(); });可以放在准备开始弹出弹框时的方法中补充知识:vue-element-ui 中 form 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: ''
}
form: {
age: 0,
name: ''
}但在你打开dialog编辑的时候,你又对它进行赋值,如
this.form = {
age:23,
name:"lala"
}
this.form = {
age:23,
name:"lala"
}这个时候form表单会默认这个新赋的值为初始值解决解决解决方式是,等dialog已经初始化之后再给form赋值,也就是
this.$nextTick(() => { // 这里开始赋值 this.form.xxx = xxx; })
this.$nextTick(() => { // 这里开始赋值 this.form.xxx = xxx; })以上这篇浅谈vue中resetFields()使用注意事项就是小编分享给大家的全部内容了,希望能给大家一个参考。
相关文章:
- jsVue获取微博授权URL代码实例js大全
- jsArray.filter中如何正确使用Asyncjs大全
- js代码通过实例解析javascript Date对象属性及方法
- jsvue element-ui中table合计指定列求和实例js大全
- js使用vant的地域控件追加全部选项js大全
- jsantd中table展开行默认展示,且不需要前边的加号操作js大全
- jsvue缓存之keep-alive的理解和应用详解js大全
- js解决vue项目打包上服务器显示404错误,本地没出错的问题js大全
- jsvue项目打包后请求地址错误/打包后跨域操作js大全
- js解决Mint-ui 框架Popup和Datetime Picker组件滚动穿透的问题js大全