vue resetfields未定义,form.resetFields

  vue resetfields未定义,form.resetFields

  本文主要介绍了在vueform中使用resetFields函数时遇到的问题,具有很好的参考价值。希望对大家有帮助。如有错误或不足之处,请不吝赐教。

  

目录

  在窗体中使用resetFields函数的问题。resetFields无效,分析解决方案并求解。

  

form表单使用resetFields函数的问题

  今天想用添加和删除来使用一个对话框,涉及到点击添加按钮时清除表单数据的问题。我首先想到的是调用resetFields方法。

  我直接写了之后是这样的

  这个。$ refs[表单名]。重置字段()

  结果直接报错了,于是上网百度,发现改成这样就不会报错了。

  这个。$nextTick(function() {

  const el: any=this。$ refs[formName];

  El . resetfields();

  });

  所以我以为肯定能行,但是点开界面还是没有反应。最后去官网看了一下,发现表单的el-form-item里没有写道具属性。

  最后,添加后,点击添加按钮时调用reset方法即可。

  但是在使用它的时候,应该在调用之前将打开模型的变量设置为true,因为只有在设置为true之后才能找到对应的dom元素。而且还是要用nextTick。

  

resetFields失效,死活不起作用的解决

  因为同一个表单用于添加、编辑和查看弹出的表单,但是打开和关闭编辑或查看表单后,再次打开新添加的表单,发现表单有以前的数据,resetFields无效。

  

分析

  在检查了官方文档后,发现resetFields只重置了整个表单,将所有字段重置为初始值并删除验证结果。打开编辑表单时,表单字段的初始值是通过编辑获得的值。此时resetFields只是将表单字段重置为初始值,即编辑表单得到的值;

  

解决办法

  eg:

  某视频剪辑软件

  El-dialog @ close=" handle close( userForm )"

  el-input v-model=userForm.name

  …

  …

  UserForm={

  名称: "",

  年龄: "",

  }

  在关闭子弹盒的方法中写入:

  handleClose(formName) {

  let resetForm={

  名称: "",

  年龄: "",

  }

  this[formName]=reset form;//清空表单

  这个。$ refs[表单名]。resetFields();//删除验证结果。然后写关闭子弹盒等其他方法。

  }

  PS:表单中的prop和v-model变量要一一对应

  以上个人经历,希望能给大家一个参考,也希望大家多多支持我们。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: