element-ui的表单重置方法resetFields()的坑

### 坑一:官方写法,api也没有说明。

resetForm(formName) {
this.$refs[formName].resetFields();
}

### 坑二:看这个写法知道:this.$refs 这个是必须dom渲染完成后。且表单需要有ref,formName的名字要一致。
**解决方法:**

this.$nextTick(() => {
this.$refs[formName].resetFields()
})

### 坑三: 需要完整 el-form及 form-item 组件中 且 配置 prop,不配置的执行此方法,该输入框值不会重置。
**解决方法:**

- 1.要不你每个都加prop。
- 2.我的表单太多,每个都加得累死,还得维护。所以,

执行此方法前都加了

this[formName] = {};

**最终**

resetForm(formName) {
this[formName] = {};
this.$nextTick(() => {
this.$refs[formName].resetFields()
});
}

上一篇:TypeError: Cannot read property ‘resetFields‘ of undefined解决方案


下一篇:React 学习笔记 —— refs 属性