问题描述: 使用element开发我的后台系统,编辑和新增使用了同一个弹出框<el-dialog><el-form></el-form></el-dialog>

绑定了数据data里的commentForm对象

为了在新增弹出框清空表单, 使用了this.$refs[formName].resetFields()

每次第一次点击新增显示弹出框,都会报错

"[Vue warn]: Error in event handler for "click": "TypeError: Cannot read property 'resetFields' of undefined""

问题原因: mouted加载table数据以后,隐藏的弹出框并没有编译渲染进dom里面。

所以@click="dialogFormVisible = true;resetForm('dlgForm')"click弹出的时候$refs并没有获取到dom元素导致 'resetFields' of undefined

解决方法:

1、($nextTick dom下一次更新之后)

            resetForm(formName) {
this.$nextTick(()=>{
this.$refs[formName].resetFields();
})
},

2、(如果是第一次就点击新增就没必要reset, 根据元素undefined判断)

                if (this.$refs[formName] !== undefined) {
this.$refs[formName].resetFields();
}

注意事项:对DOM一系列的js操作最好都要放进Vue.nextTick()的回调函数中

最新文章

  1. Tomcat发布项目方法
  2. Word 宏命令大全
  3. Nginx 1.10.2 发布,高性能 Web 服务器
  4. 在spring中使用webservice(Restful风格)
  5. HttpContext.Current.Cache使用文件依赖问题
  6. jQuery效果-滑动
  7. TVS_压敏电阻等保护类器件的布局问题
  8. UVA 1358 - Generator(dp+高斯消元+KMP)
  9. Alamofire源码解读系列(五)之结果封装(Result)
  10. Hadoop(十七)之MapReduce作业配置与Mapper和Reducer类
  11. PHP 常用字符串函数
  12. js中的一元加法和一元减法
  13. TCP/UDP 协议,和 HTTP、FTP、SMTP,区别及应用场景
  14. 关于ARM Linux下的SD卡及U盘的挂载问题
  15. Ubuntu16下配置支持Windows访问的samba共享
  16. OpenOffice将MS docx转换成pdf文件偶数页眉不显示问题解决办法
  17. 75道阿里Java面试题,你能答上几道?
  18. 【UOJ #221】【NOI 2016】循环之美
  19. 推荐20个很有帮助的web前端开发教程
  20. tp表单的提交与验证

热门文章

  1. python基础之进程间通信、进程池、协程
  2. Union-find 并查集
  3. 现代web开发需要学习的15大技术
  4. Returning Values from Bash Functions
  5. request.getparameter() 获取中文出现乱码 问题
  6. YAGNI 声明
  7. Python-学习-项目1-即时标记-1
  8. Selenium驱动Firefox浏览器
  9. Floatingip
  10. MySQL训练营03