美文网首页
Uncaught TypeError: Cannot read

Uncaught TypeError: Cannot read

作者: 菲儿_cdd4 | 来源:发表于2021-09-07 17:28 被阅读0次

参考链接:
https://blog.csdn.net/bobobocai/article/details/91437656

  • 在用vue+elementUI开发后台系统的时候,登录和注册用了同一个弹出框。为了在新增弹出框清空表单, 使用了 this.$refs[ruleForm].resetFields()
    报错信息:
    image.png
    报错代码:
    image.png
    问题原因:
    mounted加载table数据后,隐藏的弹出框冰没有编译到DOM里面。所以每次点击出现Dialog的时候,$refs冰没有获取到DOM元素导致'resetFields' of undefined

解决方案:
1.判断是不是第一次点击,如果是第一次就点击就没必要清空 Dialog 表单数据, 根据this.refs['ruleForm'] 的值是否是undefined判断。然后再使用nextTick,保证DOM已经渲染成功

showModal() {
      this.$nextTick(() => {
        if (this.$refs['ruleForm'] !== undefined) {
          this.$refs['ruleForm'].resetFields()
        }
      })
    },

相关文章

网友评论

      本文标题:Uncaught TypeError: Cannot read

      本文链接:https://www.haomeiwen.com/subject/iemzvltx.html