element plus + vue3表单第一次数据未清空的bug问题解决

news2024/11/21 2:22:23

使用框架:element Plus + vue3

场景描述:

场景一:
表单的添加和修改功能,公用同一个弹框,点击修改后,点击添加表单显示的是上次修改的数据。
场景二:
点击修改,数据回显到表单,然后点击取消关闭弹框,在关闭的时候使用resetFields()清空数据,第二次点击修改的时候,回显的数据可以清空,但是表单的值会默认到第一次回显的数据。而且点击添加的时候,默认展示的就是第一次回显的数据。

官方提供表单校验以及清除数据的方法
在这里插入图片描述


场景一问题解决:

element plus的弹框有一个close方法,这个方法为弹框关闭时触发,在这个close方法内调用清空表单方法resetFields(),清空表单校验以及初始化表单数据。

<el-dialog
      :close-on-click-modal="false"
      @close="closeGift(giftBoxRef)"
      :title="!isUpdate ? '添加' : '修改'"
      v-model="BoxShow" >
</el-dialog>
 
 // 关闭弹框
const closeGift = (formEl: FormInstance | undefined) => {
  BoxShow.value = false;
  if (!formEl) return;
  formEl.resetFields();  // 清除表单校验以及表单数据初始化
};

场景二问题解决:

原因:在dialog弹框打开的时候,form表单的数据回显,这个时候表单的初始化数据其实是被回显的数据替换掉了,resetFields()在清空数据的时候,会默认恢复数据到数据的初始值,如果第一次表单回显时初始化数据被替换,那么后续resetFields()清空数据后恢复到的值会一直是第一次回显的值。

vue2
vue2中可以使用 this.$nextTick(() => {// 这里对表单进行赋值}) 的方法解决

/* 修改 */
const updateBox = async (row: any) => {
	this.$nextTick(() => {
	// 这里对表单进行赋值
	// formData = row
	})
}

vue3
vue3中也可以使用nextTick解决

import { nextTick } from "vue";

/* 修改 */
const updateBox = async (row: any) => {
    nextTick(() => {
      // formData = row
    });
};

nextTick 是将回调推迟到下一个 DOM 更新周期之后执行。在更改了一些数据以等待 DOM 更新后立即使用它

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/110262.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

谁能主宰智能驾驶赛道?「芯片+感知」是第一主角

得「感知」者&#xff0c;得天下。 这句话依然适用于当今的自动驾驶赛道&#xff0c;实际上从Mobileye开始&#xff0c;到特斯拉&#xff0c;都是如此。尤其是智能化变革的快速演进&#xff0c;对于下游车企来说&#xff0c;具备规控的自研能力&#xff08;更多考虑到系统的体验…

【栈与队列】——栈的实现及应用

目录概念栈的实现初始化栈入栈出栈获取栈顶元素获取栈中有效元素个数判断栈是否为空栈的销毁栈的应用概念 栈 栈是一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶&#xff0c;另一端称为栈底栈中的数据元素遵…

python+pyqt5+mysql设计图书管理系统(5)- 普通用户图书管理界面

前面已经实现了图书管理系统中的一部分功能,今天就在完整最后一点内容,使用pyqt5设计出detail_stu.ui文档,然后使用PyUIC转为detail_stu.py文档,就得到了设计好的界面文档的代码。然后再逐一实现界面上对应的功能。 设计的界面如下: 1.菜单栏选项功能实现 菜单栏-登录选…

物流批量查询,如何筛选出物流发往时间大于12小时的单号

小编分享一个方法批量查询物流信息&#xff0c;并分析揽收到发往的时间差大于12小时的单号&#xff0c;有需要的朋友可以接着往下看&#xff0c;希望能给大家带来帮助。 第一步&#xff0c;运行【快递批量查询高手】在主界面中的任意空白处【右键】选择添加单号。 第二步&#…

box-shadow阴影的妙用-笔记

box-shadow: 0 0 4px 0 #ff0000; 注意阴影的这个颜色要和边框的颜色一致&#xff0c;就能出这种效果

【车载开发系列】UDS诊断---链接控制服务($0x87)

【车载开发系列】UDS诊断—链接控制服务&#xff08;$0x87&#xff09; 诊断---链接控制服务&#xff08;$0x87&#xff09;【车载开发系列】UDS诊断---链接控制服务&#xff08;$0x87&#xff09;一.概念定义二.应用场景三.报文格式1&#xff09;报文请求2&#xff09;肯定响应…

【LeetCode每日一题】——152.乘积最大子数组

文章目录一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【解题思路】七【题目提示】八【时间频度】九【代码实现】十【提交结果】一【题目类别】 动态规划 二【题目难度】 中等 三【题目编号】 152.乘积最大子数组 四【题目描述】 给你一个…

文件操作:文件的使用打开关闭与读写(顺序读写)

1.为什么使用文件 我们前面学习结构体时&#xff0c;写了通讯录的程序&#xff0c;当通讯录运行起来的时候&#xff0c;可以给通讯录中增加、删除数据&#xff0c;此时数据是存放在内存中&#xff0c;当程序退出的时候&#xff0c;通讯录中的数据自然就不存在了&#xff0c;等下…

软件测试:sql注入·依赖基本sql语句

查询语句 目的&#xff1a;回顾数据库查询条件语句&#xff08;手工sql注入操作基础知识&#xff09; 语句&#xff1a; 1. 查询所有字段&#xff1a;select * from users; 2. 查询指定字段&#xff1a; select user,password from users; 3. 条件查询&#xff1a;…

Pytorch~ONNX

pytorch转onnx其实也就是python转的 ,之前有个帖子了讲的怎么操作,这个就是在说说为什么这么做~~~ &#xff08;1&#xff09;Pytorch转ONNX的意义 一般来说转ONNX只是一个手段&#xff0c;在之后得到ONNX模型后还需要再将它做转换&#xff0c;比如转换到TensorRT上完成部署&…

韩顺平java-枚举和注解异常包装类

文章目录11章 枚举和注解11.1枚举11.2注解12章 异常12.1 异常类型12.2异常处理1&#xff09;try - catch - finally2&#xff09;throws12.3 自定义异常13章 包装类wrapper13.1包装类13.2 String——不可变字符序列13.2 StringBuffer——可变字符序列13.3 StringBuilder13.4 Ma…

【深入浅出Spring原理及实战】「开发实战系列」SpringSecurity技术实战之通过注解表达式控制方法权限

Spring Security权限控制机制 Spring Security中可以通过表达式控制方法权限&#xff0c;其中有四个支持使用表达式的注解&#xff0c;分别是PreAuthorize、PostAuthorize、PreFilter和PostFilter。其中前两者可以用来在方法调用前或者调用后进行权限检查&#xff0c;后两者可…

蓝牙不正常因为 unmet condition check

蓝牙不正常因为 unmet condition check date: 2022-12-22lastmod: 2022-12-23 现象&#xff1a;蓝牙键盘鼠标均不工作&#xff0c;图标也不显示&#xff0c;KDE系统设置显示“无已配对设备”&#xff0c;但是配对设备的按钮没有显示&#xff0c;啥按钮也没有显示 事前&#x…

使用msf生成木马反弹shell(windows系统)

一、理论总结 使用msf进行木马攻击总共分为三步即可&#xff1a; 1、生成攻击木马 2、配置监控主机 3、上传木马使得靶机中招 1.1生成攻击木马 使用msf来生成木马是一个比较方便的事情&#xff0c;使用msfvenom即可&#xff0c;框架模版为&#xff1a; msfvenom -p wind…

我国户外广告行业现状 电梯广告触达率最高 传统户外媒体刊例花费下降

户外广告特指以具体形式展示广告或告示、宣传品的载体&#xff0c;主要包含LED显示屏、LED幕墙、门头招牌、广告字、户外(室内)灯箱、大型立牌&#xff0c;甚至喷绘印刷品等生产制作环节&#xff0c;以及发布公益公告、商业广告、标识标牌、指示导向等广告内容。户外广告是面向…

Python - Order in chaos 混乱中的秩序之随机点中值连线

一.引言 刷短视频刷到了一个有趣的图形变化&#xff0c;随机给定 N 个点&#xff0c;将 N 个点首尾连接生成一个多边形&#xff0c;随后将每个边的中点连接并得到新的多边形&#xff0c;如此多次循环&#xff0c;最终总会得到一个椭圆形。 A.初始化 N 个点并生成多边形 B.取多…

Transformer实现以及Pytorch源码解读(四)-Encoder层

Transformer结构图 先放一张原论文中的图。从inputs到Poitional Encoding在前三部分中已经分析清楚&#xff0c;接下来往后分析。 Pytorch中对Transformer的调用 Pytorch将图1中左半部分的神经网络层用一个TransformerEncdoer(encoder_layer,num_layers)类进行封装&#xf…

【Kotlin 协程】Flow 异步流 ⑥ ( 调用 Flow#launchIn 函数指定流收集协程 | 通过取消流收集所在的协程取消流 )

文章目录一、调用 Flow#launchIn 函数指定流收集协程1、指定流收集协程2、Flow#launchIn 函数原型3、代码示例二、通过取消流收集所在的协程取消流一、调用 Flow#launchIn 函数指定流收集协程 1、指定流收集协程 响应式编程 , 是 基于事件驱动 的 , 在 Flow 流中会产生源源不断…

MySQL的数据类型和存储引擎介绍

一. MySQL数据类型 1. 整数类型 注&#xff1a;MySQL可以为整数类型指定宽度&#xff0c;比如 int(3)、int(5)&#xff0c;这个限制不是限制value的合法范围&#xff0c;所以对绝大数应用没有任何意义&#xff0c;对于存储而言&#xff0c;int(3) 和 int(5) 是相同的&#xff…

机器学习中的数学原理——随机梯度下降法

这个专栏主要是用来分享一下我在机器学习中的学习笔记及一些感悟&#xff0c;也希望对你的学习有帮助哦&#xff01;感兴趣的小伙伴欢迎私信或者评论区留言&#xff01;这一篇就更新一下《白话机器学习中的数学——随机梯度下降法》&#xff01; 一、什么是随机梯度下降法 随机…