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

element-ui 表单清空 resetField()方法报错Cannot read property ‘indexOf‘ of undefined 在使用resetField 报错Cannot read property 'indexOf' of undefined element-ui 表单清空 resetField()方法在项目应用的时候,报错具体代码如下(真实开发场景) 这样很明显报错了,应该是数据挂载顺序得问题导致。 尝试修改(失败) 然后试了我就把v-if改为了v-show,好像是可以实现关闭弹窗,但是我点击保存form表单数据的校验还是会走我隐藏掉的那一模块进行数据校验,所以果断放弃。 尝试修改(成功... 阅读详情

万事如伊 大吉大利

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

关于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,
       };
     });
}
vue3+element-plus表单重置resetFields方法不生效,解决办法 需求:当点击登录按钮时,登录表单弹出,当点击登录表单右上角的×时销毁表单,并清空表单。解决resetFields不生效问题! 阅读详情

相关推荐

瑞萨RA6M5驱动ST7735屏幕避坑指南:从软件SPI到显示汉字与图形的完整流程

本文详细介绍了瑞萨RA6M5单片机驱动ST7735屏幕的完整流程,涵盖硬件连接、软件SPI控制、汉字显示及图形绘制优化等关键步骤。通过避坑指南和实用代码示例,帮助开发者解决屏幕初始化、时序控制、字库移植等常见问题,实现高效稳定的显示效果。

weixin_28705087的博客 275

Element-UI form表单 resetFields() 重置表单无效问题

Element-UI form表单 resetFields() 重置表单无效问题

weixin_58833137的博客 3123

LVGL在嵌入式Linux系统上的高效移植与优化实践

本文详细介绍了在嵌入式Linux系统(特别是ARM平台)上移植和优化LVGL图形库的完整实践流程。内容涵盖从开发环境搭建、代码获取、CMake工程配置,到关键配置文件定制、显示与输入设备端口移植,以及内存、渲染等核心性能优化技巧,旨在帮助开发者高效构建流畅的嵌入式UI应用。

weixin_29274969的博客 450

Element-UI组件中Form表单resetFields()重置方法踩过的坑以及Vue中Axios同步异步请求踩过的坑,分享给大家!

关于Form表单中restFields()方法的官方解释 restFields()方法说明:对整个表单进行重置,将所有字段值重置为初始值并移除校验结果。 根据字面意思理解,调用这个方法会将表单所填写的数据重置为初始值并且移除表单校验的结果。 我最开始所理解的“初始化数据”是指的实例化Vue时在data中所声明的数据。如下图所示: 也就是说,调用restFields()会将数据充值为这里所声明的初...

Dream_xiaojin的博客 1万+

Geant4学习——入门(基本概念、Geant4工具包的结构、强制类、可选类)

Geant4是由欧洲核子研究组织基于C++面向对象技术开发的蒙特卡罗应用软件包,用于模拟粒子在物质中输运的物理过程。由于具有良好的通用性和扩展能力,Geant4在涉及微观粒子与物质相互作用的诸多领域获得了广泛应用。 第一部分 Geant4的基本概念 HEP中的模拟是“虚拟现实”。仿真既可用于在研发阶段帮助设计探测器,又可用于物理研究中了解探测器的响应。为了创建这样的虚拟现实,我们需要对粒子间的相互作用,几何形状和材料进行建模,以便将基本粒子传播到检测器中。我们还需要描述检测器生成原始数据的灵敏度。 Gea

M_M-铭的博客 2万+

STM32F407+HAL库+W5500实现TCP通讯 个人项目总结

推荐阅读此博客 cv即可成功首先需要一个可以进行串口调试的工程,方便进行调试。1.在W5500官网移植库文件重点是Ethernet这个文件夹将里面的 socket.c,socket.h,wizchip_conf.c,wizchip_conf.h,还有根据W5500文件夹里的w5500.c和w5500.h移植到自己的工程里面。然后再创建一个.c和.h文件 我的叫w5500_port_hal.c 和w5500_port_hal.h 记得将.h文件链接到工程里。

a234abr的博客 2247

vue3 antd项目实战——Form表单的重置【使用resetFields()重置form表单数据、清空输入框】

ant design vue组件库中的form表单有一个自带的重置函数——resetFields()。本期文章将借助resetFields函数,实现form表单的重置与清空。

XSL_HR的博客 2万+

【保研经验】北科自动化到北大工学院

作者:办公室某学长 谢邀。。。作为拖延症晚期患者,希望能在我科开学前写完。 先简单介绍一下我的保研过程,申请了清华叉院&北大叉院大数据&北大信科计算机夏令营,三者都没入营;申请了自所夏令营(自所来宣讲时未交简历,这是重大错误),给了第二批补录但没去;最终九推去了北大工学院。我的这次保研最终成功的经历可以说有一定运气成分,不具有普适性,但在前期准备过程中还是有经验可以分享的。 ...

ruanjianbu的博客 1796

element表单el-form的resetFields四种失效情况的解决方法汇总

本文汇总了el-form的resetFields方法失效的四种常见情景及其解决方法。

Yunwushenyanying的博客 6447

【技能---ubuntu20.04更换国内镜像源】

安装好ubuntu20.04后,在下载软件等安装包的时候,速度特别的慢,为此就想着更换一下镜像源,以此来增加下载的速度!!!下面是换源的具体流程!!!提示:以下是本篇文章正文内容,下面案例可供参考以上到这里就更换完软件源了,如有不足之处,请大家斧正!!!

fyc300的博客 1万+

【OpenClaw从入门到精通】第24篇:OpenClaw Skill商业化实战指南——从0开发付费技能,在ClawHub变现(2026实测版)

本文聚焦OpenClaw Skill商业化的全流程落地,基于2026年生态现状、公开行业报告及开发者指南,拆解付费Skill的市场机会、商业模式、技术实现、发布运营及避坑要点。核心围绕“Freemium API Backend”主流路径,通过虚拟但贴合真实场景的“金融研报复现”案例,提供从需求分析、定价设计到代码开发、ClawHub上架的完整实操方案。文中包含可直接复用的代码片段、执行结果演示及流程图解,既满足新手快速入门的需求,也为进阶开发者提供商业化落地的关键思路,帮助读者抓住AI Agent早期红利。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1084

解决Vue中Element resetFields()重置表单不生效的问题(含Cannot read property ‘resetFields‘ of undefined问题解决)

解决Vue中Element resetFields()重置表单不生效的问题, 解决Cannot read property ‘resetFields‘ of undefined问题

unlilalila的博客 3万+

QCC304x系列开发教程(实战篇)之5.2 QCC3040之提示音

earbud_init.c中,初始化table中UiPrompts_Init /*! \brief Table of initialisation functions */ static const init_table_entry_t appInitTable[] = { ......... {UiPrompts_Init, 0, NULL}, ......... } ui_prompts.c中是提示音音处理的主要逻辑和配置源文件 函数static void uiPro...

心跳包的博客 2393

【Vue】Vue、element-ui的resetFields()方法重置表单无效问题及解决办法

问题: 使用this.$ref['form'] .resetFields()无法重置表单项 原因: 1.没有给表单添加ref属性 <el-form ref="form"></el-form> 2.表单项el-form-item没有添加prop属性,prop属性需要与input框绑定的属性一致 <el-form ref="form" :model="si...

徐海东的博客 4万+

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Element-UI Form表单 resetFields() 重置表单无效问题

描述: 最近在使用Element-UI 的 Form 组件时,遇到了给清空按钮设置了resetFields(),点击却无法生效的问题

weixin_44002092的博客 3848

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

关于element表单重置resetFields()不生效问题

问题描述 使用element对话框Dialog,添加编辑使用一个弹出框时,发现使用表单重置方法resetFields()不生效,也就是点击编辑之后关闭弹框,再点击添加,此时弹出框表单仍然保留编辑项的内容而不是全新的空表单。 弹框的@close='resetForm'关闭事件绑定了重置表单以及表单验证的方法 resetForm(){ //重置表单 this.$refs.form.resetFields(); //重置表单验证 this.$refs.form.cl

Stead_Fast的博客 4729

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

vue项目表单中使用resetFields()报错或未生效

使用resetFields()报错或未生效的解决方案

蚂蚁搬砖我砌墙 1万+

【Element】解决Element resetFields()重置表单不生效的问题

解决Element resetFields()重置表单不生效的问题 前言 由于最后在做公司后台在使用 element-ui 框架,开发过程中出现 resetFields表单无法重置的问题,在此记录下解决的办法,也能帮助到以后的同学少踩点坑 1.问题重现 因 “添加” 和 “编辑” 字段是一样的,所以我把它们放在了一个弹框表单里面,也节省了代码资源开销,如果你是分开写的弹框也就不会出现这个问题了。 重现步骤:进入列表页后,先打开编辑框,然后打开新增框,新增框会填充第一次打开的编辑框内容 先打开编辑框 再打

许失之的笔记 5493

element el-table resetfields() 不生效

博客园 首页 新随笔 联系 订阅 管理 element el-table resetfields() 不生效 问题场景 表单中的重置按钮,调用了resetfields() 方法,不生效 问题原因 结合文档对照后,发现是没有为el-form-item设置prop字段 总结 想让resetfields()生效有2个前提: form要设置ref,且ref值要与 this.$refs[formName].resetFields()中的foemName一致 el-form-item上设置

飞翔的熊blabla 2016

el-form resetFields无效和validate无效的可能原因及解决方法

el-form resetFields无效和validate无效的可能原因及解决方法问题导入简单实例1、官方案例resetFields 失败可能原因2、个人案例resetFields失效及解决办法先添加后编辑先编辑后添加validate失效及解决办法结尾 问题导入 在使用 el-form 过程中,尤其是表单验证这一块,官方提供的 reserFields 方法以及验证方面存在一些坑,在此记录一下,给大家提供可能的解决办法。 简单实例 1、官方案例 先来看看官方提供的案例,对应的官网 表单验证 对应的代码 &

我家有只小金毛的博客 7841

[转载]解决Element resetFields()重置表单不生效的问题

前言 由于最后在做公司后台在使用 element-ui 框架,开发过程中出现 resetFields表单无法重置的问题,在此记录下解决的办法,也能帮助到以后的同学少踩点坑 1.问题重现 因 “添加” 和 “编辑” 字段是一样的,所以我把它们放在了一个弹框表单里面,也节省了代码资源开销,如果你是分开写的弹框也就不会出现这个问题了。 重现步骤:进入列表页后,先打开编辑框,然后打开新增框,新增...

z00001993的博客 881

form resetFields并没有清空表单

在使用element-ui的时候,编辑组件和上传组件实现了复用,但是发现,点击完编辑再点击上传 ,上传组件本该是空的,但是它里面却有值: ,而我却已经用了resetForm(),也就是说resetForm()没有生效。 接下来我去element-ui官网看了看,发现, 也就是说,resetForm()的作用并不是清空表单,而是重置为初始值。 我们来回一下我们的步骤,我们是先打开了编辑...

weixin_30783913的博客 2992

Element form表单方法resetFields无效

之前遇到resetFields无效时都是自己手动用this.ruleForm = Object.assign({}, this.ruleForm, this.$options.data().ruleForm) 这种方式来清数据,用了这么久的form表单,resetFields真的是有时候生效有时候又不生效的,于是看了下Element源码,终于发现了其中的奥秘 源码的form-item在m...

weixin_30824277的博客 397

elementui中form表单的重置方法resetFields,resetFields不生效

elementui中form表单的重置方法resetFields,解决resetFields不生效问题

super帅的博客 2449

el-form的重置表单(resetFields())不生效解决方法

【代码】element/element-plus的el-form的重置表单(resetFields())不生效解决方法。

feiyu的博客 2177
上一篇: 钉钉微应用 - - - - 打开本地app
下一篇: element - - - - - el-cascader组件报错 Cannot read properties of null (reading ‘level‘)
Dark_programmer
博客等级 码龄7年 9073粉丝 307原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值