“TypeError: Cannot read property ‘resetFields‘ of undefined“
新增打开弹框,每次点击新增的时候重置表单。
开始使用:
this.$refs['formName'].resetFields();
报错原因是:mouted加载数据以后,隐藏的弹出框并没有编译渲染进dom里面。所以点击新增弹出的时候$refs并没有获取到dom元素导致 ‘resetFields’ of undefined
解决办法:
上述代码换成:
this.$nextTick(()=>{
this.$refs['form'].resetFields();
})
换成这个之后可能还会报错,可以换成这样的:
this.$nextTick(()=>{
if (this.$refs['form'] !== undefined) {
this.$refs['form'].resetFields(); // 清空数据
}
})
这样就不会报错了