当前位置: 首页 > news >正文

vue3补充

form表单重置

const { proxy } = getCurrentInstance()!;  // 获取挂载在全局的上下文proxy.resetForm('ruleFormRef');  // 在el-form中清空ref为ruleFormRef的表单

注:不推荐使用

不推荐的原因

  1. 类型安全问题:
    • 当在 TypeScript 环境中使用时,getCurrentInstance() 返回的类型是 ComponentInternalInstance | null,这意味着它可能返回 null。直接解构赋值 const { proxy } = getCurrentInstance() 可能会导致类型错误,因为 TypeScript 无法确保 proxy 属性一定存在。
    • 即便通过类型断言如 const { proxy } = getCurrentInstance() as ComponentInternalInstance 强制类型转换,这也只是绕过了编译时的类型检查,并未解决根本的类型不确定性问题。
  2. 依赖内部实现:
    • getCurrentInstance() 是 Vue 的内部 API,它主要用于库的开发者或者高级使用场景,而不是给普通应用开发者使用的。Vue 官方文档明确指出,它不应该在应用的业务代码中频繁使用,因为这可能会导致与未来版本的 Vue 不兼容。
  3. 可维护性和可读性:
    • 使用 getCurrentInstance() 可能会使代码的逻辑变得复杂和难以理解,特别是对于不熟悉 Vue 内部机制的人来说。它还可能引入额外的错误和调试难度。

替代方案

<template>  <el-form ref="formRef" :model="formData" label-width="100px">  <el-form-item label="Name">  <el-input v-model="formData.name"></el-input>  </el-form-item>  <el-form-item label="Email">  <el-input v-model="formData.email" type="email"></el-input>  </el-form-item>  <el-button type="primary" @click="submitForm">Submit</el-button>  <el-button @click="clearForm">Clear</el-button>  </el-form>  
</template>  <script setup>  
import { ref } from 'vue';  const formData = ref({  name: '',  email: ''  
});  const formRef = ref(null);  function submitForm() {  // 表单提交逻辑  console.log(formData.value);  
}  function clearForm() {  formRef.value.resetFields(); // 调用 Element UI 的 resetFields 方法来清空表单  
}  
</script>

相关文章:

vue3补充

form表单重置 const { proxy } getCurrentInstance()!; // 获取挂载在全局的上下文proxy.resetForm(ruleFormRef); // 在el-form中清空ref为ruleFormRef的表单注&#xff1a;不推荐使用 不推荐的原因 类型安全问题&#xff1a; 当在 TypeScript 环境中使用时&#xff0c;…...

关于Chrome浏览器没有网络,而其他浏览器正常这一问题的解决方法

网上有很多解决方案&#xff0c;但我尝试了之后都没有效果。后来尝试开启了VPN&#xff0c;问题完美解决了。 ✿✿ヽ(▽)ノ✿ 解决前&#xff1a;打开VPN后很容易就解决了&#xff1a;...

人工智能辅助汽车造型设计

随着科技的不断进步&#xff0c;人工智能&#xff08;AI&#xff09;在各个领域的应用越来越广泛&#xff0c;汽车设计行业也不例外。尤其在车辆外观造型设计中&#xff0c;AI正在成为设计师的重要助手&#xff0c;通过提供强大的工具和独特的创意方式&#xff0c;革新了传统设…...

专家访谈:心脑血管名医蔡英丽医生的医学智慧

在心脑血管疾病的诊疗领域&#xff0c;有这样一位医生&#xff0c;她以深厚的医学功底、精湛的医术和无私的爱心&#xff0c;赢得了广大患者的信赖与赞誉。她&#xff0c;就是北京心脑血管科的蔡英丽医生。今天&#xff0c;我们将带您走进蔡英丽医生的医学世界&#xff0c;一探…...

Ubuntu 22.04 源码下载的几种方法

1、查询当前系统内核版本 rootubuntu22:~# uname -r 5.15.0-118-generic 2、查询本地软件包数据库中的内核源码信息 rootubuntu22:~# apt search linux-source Sorting... Done Full Text Search... Done linux-source/jammy-updates,jammy-security,now 5.15.0.119.119 all…...

floodfill+DFS(1)

文章目录 图像渲染岛屿数量岛屿的最大面积被围绕的岛屿 图像渲染 class Solution { public:int m 0, n 0;bool check[51][51] {false};vector<vector<int>> floodFill(vector<vector<int>>& image, int sr, int sc, int color) {m image.size…...

小程序开发设计-第一个小程序:注册小程序开发账号②

上一篇文章导航&#xff1a; 小程序开发设计-小程序简介①-CSDN博客https://blog.csdn.net/qq_60872637/article/details/142217803?sharetypeblogdetail&sharerId142217803&sharereferPC&sharesourceqq_60872637&spm1011.2480.3001.8118 须知&#xff1a;不…...

C++基础面试题 | C++中的构造函数可以是虚函数吗? C++中的析构函数一定要是虚函数吗?

文章目录 问题一&#xff1a;在C中&#xff0c;构造函数不能是虚函数。问题二&#xff1a;析构函数不一定需要声明为虚函数&#xff0c;但在多态环境下&#xff0c;建议一定将其声明为虚函数。示例虚函数总结 问题一&#xff1a;在C中&#xff0c;构造函数不能是虚函数。 这是…...

Leetcode—1184. 公交站间的距离【简单】

2024每日刷题&#xff08;161&#xff09; Leetcode—1184. 公交站间的距离 实现代码 class Solution { public:int distanceBetweenBusStops(vector<int>& distance, int start, int destination) {int clockwise 0;int counterclockwise 0;if(start > desti…...

【python数据处理】保存网页

直觉上处理网页信息&#xff0c;很多人会先将网页保存成HTML&#xff0c;然后做文本分析。但这样做是不够的&#xff0c;因为网页可能内嵌图片&#xff0c;这些图片在HTML里就是一处链接&#xff0c;离线处理时无法还原&#xff0c;相当于丢失了图片信息。更好的做法是将整个网…...

智能体趋势:未来科技的核心驱动力

随着人工智能&#xff08;AI&#xff09;技术的不断发展&#xff0c;**智能体&#xff08;intelligent agents&#xff09;**逐渐成为当今科技发展的重要趋势。这些智能体不仅仅是软件&#xff0c;它们正在改变我们生活和工作的方式&#xff0c;成为推动科技和社会变革的核心力…...

学习笔记 韩顺平 零基础30天学会Java(2024.9.16)

P563 自定义泛型方法 当调用方法时&#xff0c;要传入参数&#xff0c;因为当传入参数时&#xff0c;编译器就可以确定泛型代表的类型 泛型方法和方法使用了泛型是不一样的 泛型方法可以使用类声明的泛型&#xff0c;也可以使用自己的泛型 P564 泛型方法练习 P565 泛型的继承和…...

python selenium网页操作

一、安装依赖 pip install -U seleniumselenium1.py&#xff1a; from selenium import webdriver from selenium.webdriver.common.by import Bydriver webdriver.Chrome() driver.get("https://www.selenium.dev/selenium/web/web-form.html") title driver.ti…...

pytorch使用技巧

pytorch使用技巧 1. 指定GPU编号 设置当前使用的GPU设备仅为0号设备&#xff0c;设备名称为 /gpu:0os.environ["CUDA_VISIBLE_DEVICES"] "0" 设置当前使用的GPU设备为0, 1号两个设备&#xff0c;名称依次为 /gpu:0、/gpu:1&#xff1a; os.environ[&quo…...

从用户数据到区块链:Facebook如何利用去中心化技术

在数字化时代&#xff0c;用户数据的管理和保护已成为科技公司面临的重大挑战。作为全球最大的社交网络平台之一&#xff0c;Facebook不仅在用户数据的处理上积累了丰富的经验&#xff0c;也在探索如何利用去中心化技术&#xff0c;如区块链&#xff0c;来改进其数据管理和用户…...

Elasticsearch之bool查询

bool 查询是 Elasticsearch 中最常用的复合查询类型&#xff0c;允许将多个查询组合在一起。它通过逻辑操作符&#xff08;如 must、should、must_not 和 filter&#xff09;来构建复杂的查询条件&#xff0c;从而满足多条件匹配、逻辑与&#xff08;AND&#xff09;、或&#…...

IntelliJ IDEA 创建 Java 项目指南

IntelliJ IDEA 是一款功能强大的集成开发环境&#xff08;IDE&#xff09;&#xff0c;广泛用于 Java 开发。本文将介绍如何在 IntelliJ IDEA 中创建一个新的 Java 项目&#xff0c;包括环境的设置和基本配置。更多问题&#xff0c;请查阅 一、安装 IntelliJ IDEA 1. 下载 In…...

一起学Java(13)-[日志篇]教你分析SLF4J和Log4j2源码,掌握SLF4J与Log4j2桥接集成原理

研究完SLF4J和Logback这种无缝集成的方式(一起学Java(12)-[日志篇]教你分析SLF4J源码&#xff0c;掌握SLF4J如何与Logback无缝集成的原理)&#xff0c;继续研究Log4j2和SLF4J这种需要桥接集成的方式。 一、桥接包如何与SLF4J集成 我们已经知道SLF4J利用ServiceLoader机制&…...

深入Redis:核心的缓存

Redis最主要的用途&#xff0c;主要有三个方面&#xff1a;存储数据、缓存、消息队列。 其中&#xff0c;缓存是Redis最常用的场景。Redis使用内存作为硬盘的缓存。把用户集中访问的20%数据放到缓存中去&#xff0c;可以应对80%的请求。 数据库是非常重要的组件&#xff0c;但…...

集群聊天服务器项目【C++】项目介绍和环境搭建

前言&#xff1a;学习一个基于C集群聊天服务器的项目&#xff0c;记录学习的内容和学习的过程。 1.项目介绍 在 Linux 环境下基于 muduo 开发的集群聊天服务器。实现新用户注册、用户登录、添加好友、添加群组、好友通信、群组聊天、保持离线消息等功能。 2.技术栈 Json序列…...

【Linux】C语言执行shell指令

在C语言中执行Shell指令 在C语言中&#xff0c;有几种方法可以执行Shell指令&#xff1a; 1. 使用system()函数 这是最简单的方法&#xff0c;包含在stdlib.h头文件中&#xff1a; #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...

DBAPI如何优雅的获取单条数据

API如何优雅的获取单条数据 案例一 对于查询类API&#xff0c;查询的是单条数据&#xff0c;比如根据主键ID查询用户信息&#xff0c;sql如下&#xff1a; select id, name, age from user where id #{id}API默认返回的数据格式是多条的&#xff0c;如下&#xff1a; {&qu…...

pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)

目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关&#xff0…...

基于 TAPD 进行项目管理

起因 自己写了个小工具&#xff0c;仓库用的Github。之前在用markdown进行需求管理&#xff0c;现在随着功能的增加&#xff0c;感觉有点难以管理了&#xff0c;所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD&#xff0c;需要提供一个企业名新建一个项目&#…...

Java求职者面试指南:计算机基础与源码原理深度解析

Java求职者面试指南&#xff1a;计算机基础与源码原理深度解析 第一轮提问&#xff1a;基础概念问题 1. 请解释什么是进程和线程的区别&#xff1f; 面试官&#xff1a;进程是程序的一次执行过程&#xff0c;是系统进行资源分配和调度的基本单位&#xff1b;而线程是进程中的…...

STM32HAL库USART源代码解析及应用

STM32HAL库USART源代码解析 前言STM32CubeIDE配置串口USART和UART的选择使用模式参数设置GPIO配置DMA配置中断配置硬件流控制使能生成代码解析和使用方法串口初始化__UART_HandleTypeDef结构体浅析HAL库代码实际使用方法使用轮询方式发送使用轮询方式接收使用中断方式发送使用中…...

LabVIEW双光子成像系统技术

双光子成像技术的核心特性 双光子成像通过双低能量光子协同激发机制&#xff0c;展现出显著的技术优势&#xff1a; 深层组织穿透能力&#xff1a;适用于活体组织深度成像 高分辨率观测性能&#xff1a;满足微观结构的精细研究需求 低光毒性特点&#xff1a;减少对样本的损伤…...

LangFlow技术架构分析

&#x1f527; LangFlow 的可视化技术栈 前端节点编辑器 底层框架&#xff1a;基于 &#xff08;一个现代化的 React 节点绘图库&#xff09; 功能&#xff1a; 拖拽式构建 LangGraph 状态机 实时连线定义节点依赖关系 可视化调试循环和分支逻辑 与 LangGraph 的深…...

SQL Server 触发器调用存储过程实现发送 HTTP 请求

文章目录 需求分析解决第 1 步:前置条件,启用 OLE 自动化方式 1:使用 SQL 实现启用 OLE 自动化方式 2:Sql Server 2005启动OLE自动化方式 3:Sql Server 2008启动OLE自动化第 2 步:创建存储过程第 3 步:创建触发器扩展 - 如何调试?第 1 步:登录 SQL Server 2008第 2 步…...

Mysql故障排插与环境优化

前置知识点 最上层是一些客户端和连接服务&#xff0c;包含本 sock 通信和大多数jiyukehuduan/服务端工具实现的TCP/IP通信。主要完成一些简介处理、授权认证、及相关的安全方案等。在该层上引入了线程池的概念&#xff0c;为通过安全认证接入的客户端提供线程。同样在该层上可…...