this.$refs[‘form’].resetFields()方法有效,必须配置el-form :model 属性和el-form-item中的prop属性,才可以。
- 要写
:model而不是v-model
this.$refs[‘form’].resetFields()这个做法其实是重置表单到初始值,不是清空表单,当表单第一次在页面中渲染时所用的数据就是初始数据
//加的参数是form 的ref值 this.$refs.ruleForm.resetFields();
form 里面的 ref=“form” :重置这个表单
这个prop 绑定的是和 v-model 绑 一样的

错误原因:
在执行的时候 表单的dom还没有渲染出来
因为还没渲染出 所以用$refs调用名叫‘form’身上的resetFields方法 是undefined
加上一个判断就可:
if (this.$refs.form != undefined)
{
this.$refs.form.resetFields();
}
或者:使用 $nextTick。 等待dom更新之后再重置
this.$nextTick(() => {
this.$refs.form.resetFields()
if(id) { // 发送axios请求 获取数据反显到表单上
}
index.js:1 [Element Warn][Form]model is required for resetFields to work.
这个报错, 将v-model 写成 :model 就行;
不晓得为什么,报错不报错了。但是会使得el-input 输入数据的时候,输入不了和删除不了。
所以还是v-model好点
文章讲述了在Vue中使用`this.$refs[form].resetFields()`方法重置表单时的注意事项,包括需配置`model`属性,避免在DOM未渲染时调用,以及`v-model`与`model`的区别。还提到了`$nextTick`和`ElementWarn`报错的解决方案。
4358





