vue+element-ui 实现重置表单内容

  今天在作入院管理的时候,须要实现表单内容以及验证信息的重置,具体效果以下:html

  当我再点击添加添加住院患者按钮打开表单时,应该是这个样子的:函数

  根据Element-UI官方文档提供的方法,咱们能够使用这个函数:this

resetForm(formName) { this.$refs[formName].resetFields(); }

  实际使用的时候代码:spa

this.visible = true; this.resetForm('form');

  先显示对话框,再重置表单,若是这两行代码顺序颠倒,点击添加住院患者就是没有反应的,以下图所示:code

  至此,重置表单内容这个功能作的差很少了,但我发现了一个问题,当我点击添加住院患者按钮,弹出表单dialog以后,个人下拉框是没有数据的。orm

  

  当我关闭这个dialog,再从新打开的时候,这里的数据就有了。我感受是跟个人表单验证有关,但问题具体是怎么产生的我不清楚,这个表单验证只是把里面的内容重置为初始值,个人数据在页面刷新以后应该是能够正常拿到的。htm

  不清楚问题是怎么发生的,那就只好看看控制台了。我对比了刷新页面后第一次打开表单dialog和第二次打开表单dialog发生的错误,果真,第一次打开表单时出现了一个特殊的错误,而第二次打开表单时该错误就消失了。blog

  百度了一下这个错误,找到了http://www.javashuo.com/article/p-tfsdxbgz-dp.html这篇文章,这个博主老哥跟个人状况基本如出一辙,解决方法他也提到了。文档

 

   按照人家的方法,将代码修改以下:get

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

  问题完美解决!刷新页面后第一次打开表单也能获取到数据了。

相关文章
相关标签/搜索