实际项目中,我们的一些表单经常有默认值,在Vue中,我们可以直接在data中设置默认值。

export default data() {return {formData: {name: '',region: '',type: '1' //默认值}};
}

但是,在表单被使用过(新增或者编辑过其他行)后,如何将其恢复到原始状态呢?
有的做法可能是这样:

this.formData={}

但是这样只能清空所有值,默认值并不能恢复。难道一个个的重新手动赋值吗?当然可以,就是比较麻烦。好在vue帮我们保存了一份原始数据,直接把data复制为原始数据即可

this.formData=this.$options.data().formData

但是在用element表单验证时,这种方法存在一个问题,就是表单的验证提示没有重置,调用表单的resetFields方法即可。

this.$refs.editForm.resetFields()

整体代码如下:

<template >
<el-form label-width="80px" :model="formData" ref="editForm"><el-form-item label="名称"><el-input v-model="formData.name"></el-input></el-form-item><el-form-item label="活动区域"><el-input v-model="formData.region"></el-input></el-form-item><el-form-item label="活动形式"><el-select v-model="formData.type"><el-option label="线下" value="1"></el-option><el-option label="线上" value="2"></el-option></el-select></el-form-item>
</el-form>
</template ><script>
export default {data() {return {formData: {name: '',region: '',type: '1'}};},methods: {loadFormData: function(data){if (this.$refs['editForm']) {// 重置表单验证this.$refs.editForm.resetFields()}if (!data) {this.formData = this.$options.data().formData} else {this.formData = Object.assign({}, row)}}}
}
</script>

vue表单数据加载/重置相关推荐

  1. Vue中使用Openlayers加载Geoserver发布的TileWMS时单击获取shp文件的坐标信息

    场景 Vue中使用Openlayers加载Geoserver发布的TileWMS: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/ ...

  2. 如何在 InfoPath 2003 表单中动态加载数据

    转自微软:http://support.microsoft.com/kb/896451/zh-cn 概要 简介 更多信息 创建新的虚拟目录 设计 Microsoft Office InfoPath 2 ...

  3. Vue中使用Openlayers加载Geoserver发布的TileWMS

    场景 Openlayers下载与加载geoserver的wms服务显示地图: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/114 ...

  4. Vue中使用Openlayers加载Geoserver发布的ImageWMS

    场景 Openlayers下载与加载geoserver的wms服务显示地图: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/114 ...

  5. Vue中使用Openlayers加载OSM(Open Street Map)显示街道地图

    场景 Openlayers下载与加载geoserver的wms服务显示地图: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/114 ...

  6. webpack和vue的按需加载组件、console、抓包

    1.webpack和vue的按需加载组件 webpack特有的懒加载文件的方式,很大的提升了webpack打包SPA应用的在性能方面. 而从webpack2以后require.ensure已经被imp ...

  7. vue的route懒加载

    vue的route懒加载 为什么用懒加载 ​ 像vue这种单页面应用,如果没有应用懒加载,运用webpack打包后的文件将会异常的大,造成进入首页时,用户会将这个打包后的js代码加载进来,需要加载的内 ...

  8. [vue] SPA首屏加载速度慢的怎么解决?

    [vue] SPA首屏加载速度慢的怎么解决? 1.通过Gzip压缩 2.使用路由懒加载 3.利用webpack中的externals这个属性把打包后不需要打包的库文件都分离出去,减小项目打包后的大小 ...

  9. 前端vue里面点击加载更多_vue 原生添加滚动加载更多

    vue中添加滚动加载更多,因为是单页面所以需要在跳出页面时候销毁滚动,要不会出现错乱.我们在mounted建立滚动,destroyed销毁滚动. mounted () { window.addEven ...

最新文章

  1. Javascript学习资源整理
  2. 【转】Java虚拟机(JVM)以及跨平台原理
  3. Silverlight 多窗口的实现.
  4. 生命html文档,Web前端第一季(HTML)
  5. 问题四十五:怎么画ray tracing图形中的blending and joining surface
  6. 使用vue-cli3创建项目的时候出错,ERROR command failed: npm install --loglevel error --registry
  7. MySQL/mariadb从删库到跑路——备份
  8. 精读CSS权威指南第四版(4)
  9. 编码器/译码器(Verilog HDL)|计算机组成
  10. 阿里云物联网平台使用图文教程
  11. 微信改名服务器升级,公众号赞赏升级后,微信宣布可修改一次赞赏账户名称
  12. 华为p40手机是不是android,华为P40新手机配新操作系统,网友:再见了安卓
  13. vue打开外部页面_vue项目中嵌套外部网页
  14. 2016国内热门的企业级SaaS应用
  15. Ubuntu16.04 独显驱动安装 Nvidia
  16. 强大的选择器 虐我千百遍
  17. Python学习 matplotlib库 霍兰德人格分析雷达图
  18. H3C防火墙NAT类型及处理顺序
  19. 客户故事:4家银行如何打造新一代移动金融中心 1
  20. Python 面试:“一行代码实现 xx”类题目(带答案)

热门文章

  1. 港股Level2实时行情api接口包括哪些类型?
  2. 基于ITD实现的轴承故障信号分解并附Matlab源码
  3. 物联网的低成本乳品质量链追溯平台设计
  4. 电脑微信多开小技巧,一步解决
  5. 嵌入式培训学习历程第十一天
  6. python else用法_Python try else语句的用法
  7. html显示证书错误代码,整理比较齐全的网站SSL证书报错错误码问题
  8. 给风的信----平凡的世界
  9. 如何解决在electron里无法使用puppeteer的evaluate函数
  10. Docker学习笔记--1.Docker原理、容器