平时在使用iview或者vue重置表单是时,我会习惯使用

this.$refs[formData].resetFields();

但是直接这样写上去方法是不起作用的,

内容必须要在每个form-item里加上prop属性,并且与你v-model的值相同才可以生效

例如:

iview代码段:

<Modal v-model="showDialog" :title="modalTitle" :mask-closable="false">
<Form ref="formData" :model="formData" :rules="ruleValidate" label-position="top">
<FormItem label="姓名:" prop="name">
<Input type="text" v-model="formData.name"/>
</FormItem>
<FormItem label="年龄:" prop="age">
<Input type="text" v-model="formData.age"/>
</FormItem>
</Form>
<div slot="footer">
<Button type="text" @click="cancel('ruleValidate')">取消</Button>
<Button type="primary" @click="Save('ruleValidate')">保存</Button>
</div>
</Modal>

或者

<Modal v-model="showDialog" :title="modalTitle" :mask-closable="false" @on-ok='save' @on-cancel="cancel">
<Form ref="formData" :model="formData" :rules="ruleValidate" label-position="top">
<FormItem label="姓名:" prop="name">
<Input type="text" v-model="formData.name"/>
</FormItem>
<FormItem label="年龄:" prop="age">
<Input type="text" v-model="formData.age"/>
</FormItem>
</Form>
</Modal>

只需在关闭弹框的cancel方法中写上重置表单的方法即可,

  cancel() {
this.$refs.formData.resetFields();
}

后来发现重置表单清除校验有另一种更为简便的方法:

<Modal v-model="showDialog" :title="modalTitle" :mask-closable="false">
<Form v-if="showDialog" ref="formData" :model="formData" :rules="ruleValidate" label-position="top">
<FormItem label="姓名:" prop="name">
<Input type="text" v-model="formData.name"/>
</FormItem>
<FormItem label="年龄:" prop="age">
<Input type="text" v-model="formData.age"/>
</FormItem>
</Form>
<div slot="footer">
<Button type="text" @click="cancel('ruleValidate')">取消</Button>
<Button type="primary" @click="Save('ruleValidate')">保存</Button>
</div>
</Modal>

只需要在From标签上加上v-if="showDialog"这句代码,当关闭弹框时showDialog=false,

再次打开弹框是showDialog置为true,这样每次打开弹框它都会生成一个新的表单。

关于iview、element-ui重置表单并清除校验的方法的更多相关文章

  1. element-ui重置表单并清除校验的方法

    this.$refs['activityForm'].resetFields(); 只会重置之前表单的内容,并不会清空 只需在关闭弹框的cancel方法中写上重置表单的方法即可 cancel() { ...

  2. vue+element ui 重置表单

    <el-dialog :title="addForm.title" :visible.sync="dialogFormVisible" width=&qu ...

  3. element ui form表单清空规则

    公司项目重构,经过商定使用element ui.在重构项目的时候发现一下element ui上很蛋疼的东西. 例如,这个form表单就是一个.趁着在高铁上没事,把想写的东西写一下. 先说一下eleme ...

  4. vue + element ui 阻止表单输入框回车刷新页面

    问题 在 vue+element ui 中只有一个输入框(el-input)的情况下,回车会提交表单. 解决方案 在 el-form 上加上 @submit.native.prevent 这个则会阻止 ...

  5. element ui FORM表单

    form表单 Form-Item Slot [label] 旧版语法 <el-form-item label="活动名称" prop="name"> ...

  6. easyui form.rest和clear 重置表单和清除表单数据区别

    easyui中的一般我们在新增和编辑的时候 都是用一个form表单 那新增的时候 需要重置下表单内容,一般用 $('#EditForm').form('reset'); 大部分时候没问题,但是如果表单 ...

  7. JavaScript实现重置表单(reset)的方法

    转自:https://www.jb51.net/article/63305.htm <!DOCTYPE html> <html> <head> <script ...

  8. 重置按钮小tip—为何不能重置表单数据呢

    刚开始学html的同志有时候可能会遇到一个问题,就是为什么在编辑页面里面的重置按钮总是不起作用呢不清空数据呢?接下来就说明一下原因. Reset 对象 Reset 对象代表 HTML 表单中的一个重置 ...

  9. 160927、用jquery 重置表单的方法

    清空 我们项目小小部分的搜索条件: 客户要做的是,只要一键 "清空搜索条件" 即可清空维护地点.订单ID等条件. js函数 //重置表单 function resetform(){ ...

随机推荐

  1. 执行sudo apt-get update,连接失败

    问题:sudo apt-get update连接失败 错误:1 http://cn.mirrors.ustc.edu.cn/ubuntu bionic InRelease 连接失败 [IP: 218. ...

  2. 解决Windows 游戏 错误代码 1170000

    安装"Xbox标识提供程序" 下载地址:https://www.microsoft.com/store/apps/9wzdncrd1hkw

  3. english note(6.3 to 6.8)

    6.3 http://www.51voa.com/VOA_Special_English/pakistan-town-struggles-with-rise-in-hiv-infections-821 ...

  4. Ybt#452-序列合并【期望dp】

    正题 题目链接:https://www.ybtoj.com.cn/contest/113/problem/2 题目大意 一个空序列,每次往末尾加入一个\([1,m]\)中的随机一个数.如果末尾两个数相 ...

  5. 1. JVM核心类加载器及类加载的全过程

    运行环境: 下面说明一下我的运行环境.我是在mac上操作的. 先找到mac的java地址. 从~/.bash_profile中可以看到 java的home目录是: /Library/Java/Java ...

  6. 小白自制Linux开发板 四. 通过SPI使用ESP8266做无线网卡

    本文章基于 WhyCan Forum(哇酷开发者社区) https://whycan.com/t_4149.htmlhttps://whycan.com/t_5870.html整理而成. 为了尊重原作 ...

  7. PublishFolderCleaner 让你的 dotnet 应用发布文件夹更加整洁

    大家都知道,在 dotnet 发布时,将会在输出的 publish 文件夹包含所需的依赖.在 .NET Core 开始,引入了 AppHost 的概念,即使是单个程序集,也需要独立的 Exe 可执行文 ...

  8. iOS路由最佳选择是什么

    背景 记得四年前iOS路由开始盛行,当时比较有名的是蘑菇街的,后来CTMediator写了几篇文章把蘑菇街批的体无完肤,导致我后来写新项目用了CTMediator,那一堆组件创建的叫一个酸爽啊!再后来 ...

  9. Vue3学习(六)之使用Vue3进行数据绑定及显示列表数据

    一.写在前面 说来还是比较惭愧的,从周二开始事就比较多,周三还电脑坏了,然后修电脑等等一些杂事,忙的团团转,因为周二.周三自己走的过多了,导致不敢直腰,周四卧床一天. 之前都听说<陈情令> ...

  10. 使用docker部署nginx并配置https

    我只有一台服务器,但我想在这台服务器上运行多个项目,怎么办? 总不能靠加端口区分吧? 百度和Google是个好东西,于是我找到了答案,使用nginx. 通过nginx,我可以给我的一台服务器配置两个域 ...