element - - - - - Form表单的resetFields()方法没有生效?

news/2024/7/7 19:56:49

万事如伊 大吉大利

Form表单的resetFields方法没有生效?

  • 1. 场景描述
  • 2. 问题分析
  • 3. 解决办法

关于element组件,相信各位同学都不陌生。其各个组件不可谓不好用,能够快速的帮助开发人员进行排版布局&实现效果。

但是总会遇到一些不可避免的坑。

1. 场景描述

在table的行内,有一个编辑功能。点击时会将行内数据塞入form绑定的对象内,然后打开dialog展示form的数据。

代码展示:

editRow(row){
	this.ruleForm = {
		...row
	};
	this.dialogVisible = true;
}

弹窗展示正常。
修改form表单值正常。
提交数据正常。
提交之后重置表单数据异常!

2. 问题分析

重置表单的操作如下:

 this.$ref['ruleForm'].resetFields();

可以确定的是表单绑定的ref就是ruleForm。之前用的都是好好的,为什么这次就出现问题了呢?

仔细查看element文档之后,发现了端倪
在这里插入图片描述

请注意官方给出的说明:
对整个表单进行重置,将所有字段值重置为初始值并移除校验结果

所以不是重置为不是空值!!!

当我们第一次打开Dialog,紧接着设置回显,因为Dialog还没执行完毕,这时form的初始值会被设置为回显的值,所以在调用this.$ref[‘form’] .resetFields()时form看起来没有重置。

3. 解决办法

既然已经找到原因,针对性解决问题即可。在打开弹窗的时候,不要直接赋值,可异步赋值,setTimeout或者this.$nextTick均可。
代码如下:

editRow(row){
	this.dialogVisible = true;
	
     // 设置回显数据
     this.$nextTick(function() {
       this.ruleForm = {
         ...row,
       };
     });
}

http://lihuaxi.xjx100.cn/news/796582.html

相关文章

微信小程序+前端+天行数据垃圾图像识别接口API

文章目录 前言 步骤 1. 去到天行数据官网注册账号,去到接口的介绍网站 2. 去测试网站,先看看请求的格式 3. 小程序端我采用的是把网站上的url链接的网络图片转成base64编码后的形式作为传入参数,这里需要有点基础,因为只给上了…

毫米波雷达「增量」升级

随着智能驾驶进入高阶周期,基于视觉感知的冗余策略,也在走出两条不同路径:一是,拿掉传统角雷达,并增加激光雷达来作为补充,而去年补盲激光雷达的加入,让竞争也更加激烈;二是&#xf…

狂神说Springboot笔记

SpringBoot系列笔记:狂神说SpringBoot01:Hello,World!狂神说SpringBoot02:运行原理初探狂神说SpringBoot03:yaml配置注入狂神说SpringBoot04:JSR303数据校验及多环境切换狂神说SpringBoot05:自动配置原理狂神说SpringBoot06:自定义starter狂神说SpringBoot07:整合JDBC…

1145.binary-tree-coloring-game 二叉树着色游戏

问题描述 1145.二叉树着色游戏 解题思路 贪心策略:对二号玩家来说,想要取胜,选择染色节点只有三种可能:选择x的父节点,则通过深度优先搜索可以求得红色节点数,蓝色节点数为\(n\)减去红色节点数 选择x的左子节点,则通过dfs可以求得蓝色节点数,红色节点数为\(n\)减去蓝色…

基于Java+Spring+Html的图书借阅管理系统详细设计和实现

博主介绍:✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…

文档存储Elasticsearch系列--1 ES介绍

前言:Elasticsearch 也是使用 Java 编写的,它的内部使用 Lucene 做索引与搜索,支持结构化文档数据的分布式存储,并提供准实时的查询,全文检索,数据聚合; 1 为什么要使用ES: ES 本身存在哪些特性…

java 使用JSONObject工具实现map于json的转换

现在有一个json字符串jsonString,我想把他转成map: List maps JSONObject.parseArray(jsonString).toJavaList(Map.class); 一个map或者list等结构想转成json字符串: String attachmentJson JSONObject.toJSONString(maps);

seo:百度统计

一、百度统计官网https://tongji.baidu.com/web5/welcome/login二、理解百度统计个人理解,添加这段代码到网站首页,有人访问该网站,即会加载这段代码,接着把信息发送到百度统计id 对应的百度统计账号,可从百度统计查看…