当elementui的el-dialog组件中包含子组件时,用$refs调用子组件时的undefined问题

element为了优化性能,在弹框未首次打开之前,是会不渲染弹框body中的内容的,一般情况下这样的设定是没有问题的,弹框未打开时我们一般也是不需要对弹框内容做操作的,但是在一些特殊情况,可能就有问题了
 
在dialog里面嵌套1个表单(<el-form ref="addUserFormRef">),使用 $refs 获取这个表单对象会出现错误
 
this.$refs.addUserFormRef  // 如果打印会报错  undefined
 
解决方法一:
 
this.$nextTick(function () {
        console.log(this.$refs.addUserFormRef )
      })
 
解决方法二:
 
setTimeout(()=> {
        console.log(this.$refs.addUserFormRef )
      },0)
posted @ 2022-01-13 15:13  专注网站建设和推广  阅读(987)  评论(0)    收藏  举报