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

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

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

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

解决方法:

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

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

解决方法:
1.要不你每个都加prop。
2.我的表单太多,每个都加得累死,还得维护。所以,
执行此方法前都加了

this[formName] = {};

最终

1 resetForm(formName) {
2     this[formName] = {};
3     this.$nextTick(() => {
4         this.$refs[formName].resetFields()
5     });
6 }
posted @ 2021-04-05 20:54  小阿飞ZJF  阅读(390)  评论(0编辑  收藏  举报