elementui 使用Form表单 的 resetForm表单功能出现的问题

代码因为在保密机上,这里只进行描述并截取elemen文档中的代码作为参考

今天在开发一个很简单需求的时候遇到的问题,在使用elementui的表单功能,将增和改的表单进行了复用,是在表单的父组件 drawer 的 close 事件中进行resetForm ,但事实上先点击edit按钮 再点add按钮后,表单并没有进行预期的重置

经过对elementui组件中源代码的逻辑查看,发现问题出在了resetFields()这个方法上,这个方法调用的时候会先将form中的props 内容保存,然后当用户对表单进行编辑之后,关闭drawer,触发resetForm事件,resetFields()方法会将表单重置

为之前保存的form中的props内容,而并不是像想象中将表单中的props直接清空。 因此需要在触发事件中加上settimeout  或者 tick 方法,等待dom将表单渲染完成后再存储空的form中的props。

今天为了这个bug console了全组件的变量,最终发现了问题,希望世界没有BUG

 

 

posted on 2020-07-14 21:59  老实憨厚的脖子  阅读(5073)  评论(0编辑  收藏  举报

导航