element-ui dialog 延迟渲染的问题

刚写了个功能是在 dialog 里嵌套了一个表单,然后希望在打开或者关闭的时候重置表单,但由于这组件是延迟渲染的问题导致现在怎么尝试都不行,要么 Cannot read property 'resetFields' of undefined 要么就重置后根本没效果,感觉这东西好坑有没有什么好的办法?

阅读 6.9k
3 个回答

在mounted函数里面加上一行,让dialog不再懒加载。
this.$refs.yourDiaglog.rendered=true

给html中表单加一个ref值是form,然后:

this.$nextTick(() => {
   this.$refs.form.reset();
})

这样试试。

可以把你写的表单弄成一个组件,表单延迟加载完成后emit派发一个事件,dialog中接受到后执行重置表单的方法。

推荐问题