Error in v-on handler: “TypeError: Cannot read properties of undefined (reading ‘resetFields‘)“

在做vue element 项目中,做了一个新增 打开弹框的功能,想每次点击新增的时候表单项重置。
1.使用了
this.$refs[formName].resetFields();
2.但是报错了,原因是:
mouted加载数据以后,隐藏的弹出框并没有编译渲染进dom里面。所以click弹出的时候$refs并没有获取到dom元素导致 ‘resetFields’ of undefined
3.解决办法:

添加代码

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

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

本文作者:seven&night

本文链接:https://www.cnblogs.com/bisiyuan/p/16257303.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   seven&night  阅读(2934)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起
  1. 1 晴天 刘瑞琦
晴天 - 刘瑞琦
00:00 / 00:00
An audio error has occurred.