Cannot read properties of undefined (reading ‘resetFields‘)问题及引申

Cannot read properties of undefined (reading ‘resetFields’)报错原因以及处理方法
在弹窗里使用form表单时,重置使用this.$refs.form.resetFields()会报错

问题原因:

 初始化渲染页面隐藏的弹窗并没有编译渲染进dom里面。
所以@click="dialogFormVisible = true;"click弹出的时候$refs并没有获取到dom元素导致

解决方法:

方法1.如果是第一次就点击新增就没必要reset, 根据元素undefined判断
 if (this.$refs.form !== undefined) this.$refs.form.resetFields()
   
   
方法2.$nextTick dom下一次更新之后
 this.$nextTick(()=>{
 	this.$refs.form.resetFields();
 })  

你可能感兴趣的:(vue,vue.js,javascript,ecmascript)