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

React-hook-form-mui(二):表单数据处理

前言

在上一篇文章中,我们介绍了react-hook-form-mui的基础用法。本文将着表单数据处理。
react-hook-form-mui提供了丰富的表单数据处理功能,可以通过watch属性来获取表单数据。

Demo

下面是一个使用watch属性的例子:

import React from 'react';
import { useForm } from 'react-hook-form';
import { Button } from '@mui/material';
import { FormContainer, TextFieldElement } from 'react-hook-form-mui';export interface UserSettings {firstName: string;lastName: string;
}const MyForm = () => {const formContext = useForm<UserSettings>({defaultValues: {firstName: '',lastName: ''}});// 使用 watch 属性获取表单数据const { watch } = formContext;const formData = watch();const onSubmit = (data) => {console.log(data);};const handleGetDataClick = () => {const { firstName, lastName }= formData;console.log(firstName); //输出 firstNameconsole.log(lastName); //输出 lastNameconsole.log(formData); //输出 { firstName: xx, lastName: xx }};return (<FormContainerformContext={formContext}onSuccess={(data) => {onSubmit(data);}}><TextFieldElement name="firstName" label="First Name" /><TextFieldElement name="lastName" label="Last Name" /><Button onClick={handleGetDataClick}>Get Form Data</Button><Button type="submit">Submit</Button></FormContainer>);
};export default MyForm;

从以上的demo不难看出,我们能够通过watch很轻易的去获取表单元素的值,而不需要通过useState的方式去获取,能够减少项目中的不必要的代码。

总结

以上是关于React-hook-form-mui的表单数据处理。希望本文会对你有所帮助。如果有什么问题,可在下方留言沟通。

相关文章:

React-hook-form-mui(二):表单数据处理

前言 在上一篇文章中&#xff0c;我们介绍了react-hook-form-mui的基础用法。本文将着表单数据处理。 react-hook-form-mui提供了丰富的表单数据处理功能&#xff0c;可以通过watch属性来获取表单数据。 Demo 下面是一个使用watch属性的例子&#xff1a; import React from…...

java网络文件地址url的转换为MultipartFile文件流

废话不多说&#xff0c;直接上代码 一、异常捕捉类 public class BusinessException extends RuntimeException {public BusinessException(String msg){super(msg);} }二、转换类 package com.example.answer_system.utils;import org.springframework.mock.web.MockMultipa…...

JS实现/封装节流函数

封装节流函数 节流原理&#xff1a;在一定时间内&#xff0c;只能触发一次 let timer, flag; /*** 节流原理&#xff1a;在一定时间内&#xff0c;只能触发一次* * param {Function} func 要执行的回调函数 * param {Number} wait 延时的时间* param {Boolean} immediate 是否立…...

ENVI 各版本安装指南

ENVI下载链接 https://pan.baidu.com/s/1APpjHHSsrXMaCcJUQGmFBA?pwd0531 1.鼠标右击【ENVI 5.6(64bit&#xff09;】压缩包&#xff08;win11及以上系统需先点击“显示更多选项”&#xff09;选择【解压到 ENVI 5.6(64bit&#xff09;】。 2.打开解压后的文件夹&#xff0c…...

60天零基础干翻C++————初识C++

初识c 命名空间命名空间的定义命名空间的使用 输入输出流缺省参数引用引用定义常量的引用引用的使用场景做函数参数引用做返回值 命名空间 命名空间的定义 在c语言中会有下面问题 上述代码中&#xff0c;全局变量rand 可能会命名冲突&#xff0c;如下图 此时编译失败&…...

考研复试英语口语问答举例第二弹

考研复试英语口语问答举例第二弹 文章目录 考研复试英语口语问答举例第二弹Question &#xff1a;介绍你的读研兴趣与动机Answer11&#xff1a;&#xff08;自动化控制方向&#xff09;Answer12&#xff1a;&#xff08;集成电路方向&#xff09;Answer13&#xff1a;&#xff…...

MyBatis-Plus实现自定义SQL语句的分页查询

正常开发的时候&#xff0c;有时候要写一个多表查询&#xff0c;然后多表查询之后还需要分页&#xff0c;MyBatis-Plus的分页插件功能挺不错的&#xff0c;可以很简单实现自定义SQL的分页查询。 分页插件配置 import com.baomidou.mybatisplus.annotation.DbType; import com…...

vue3 里的 ts 类型工具函数

目录 前言一、PropType\<T>二、MaybeRef\<T>三、MaybeRefOrGetter\<T>四、ExtractPropTypes\<T>五、ExtractPublicPropTypes\<T>六、ComponentCustomProperties七、ComponentCustomOptions八、ComponentCustomProps九、CSSProperties 前言 相关 …...

【SpringCloud】之远程消费(进阶使用)

&#x1f389;&#x1f389;欢迎来到我的CSDN主页&#xff01;&#x1f389;&#x1f389; &#x1f3c5;我是君易--鑨&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; &#x1f31f;推荐给大家我的博客专栏《SpringCloud开发之远程消费》。&#x1f3af;&a…...

自然语言处理24-T5模型的介绍与训练过程,利用简单构造数据训练微调该模型,体验整个过程

大家好,我是微学AI,今天给大家介绍一下自然语言处理24-T5模型的介绍与训练过程,利用简单构造数据训练微调该模型,体验整个过程。在大模型ChatGPT发布之前,NLP领域是BERT,T5模型为主导,T5(Text-to-Text Transfer Transformer)是一种由Google Brain团队在2019年提出的自然…...

CISSP 第5章 保护资产的安全

1、资产识别和分类 1.1 敏感数据 1.1.1 定义 敏感数据是任何非公开或非机密的信息&#xff0c;包括机密的、专有的、受保护的或因其对组织的价值或按照现有的法律和法规而需要组织保护的任何其他类型的数据。 1.1.2 个人身份信息PII 个人身份信息&#xff08;PII&#xff09…...

docker安装-在linux下的安装步骤

#切换到root用户 su yum安装jcc相关 yum -y install gcc yum -y install gcc-c 安装yum-utils sudo yum install -y yum-utils 设置stable镜像仓库 sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 更新yum软件包索…...

在Uniapp中使用Echarts创建可视化图表

在uniapp中可以引入echarts创建数据可视化图表。 1. 安装Echarts 使用npm安装echarts插件&#xff0c;命令如下&#xff1a; npm install echarts --save2. 引入Eharts 在需要使用Echarts的页面引入&#xff1a; import *as echarts from echarts3. 创建实例 创建画布元素…...

基于python的leetcode算法介绍之动态规划

文章目录 零 算法介绍一 例题介绍 使用最小花费爬楼梯问题分析 Leetcode例题与思路[118. 杨辉三角](https://leetcode.cn/problems/pascals-triangle/)解题思路题解 [53. 最大子数组和](https://leetcode.cn/problems/maximum-subarray/)解题思路题解 [96. 不同的二叉搜索树](h…...

通信原理期末复习——计算大题(一)

个人名片&#xff1a; &#x1f981;作者简介&#xff1a;一名喜欢分享和记录学习的在校大学生 &#x1f42f;个人主页&#xff1a;妄北y &#x1f427;个人QQ&#xff1a;2061314755 &#x1f43b;个人邮箱&#xff1a;2061314755qq.com &#x1f989;个人WeChat&#xff1a;V…...

【萤火虫系列教程】2/5-Adobe Firefly 文字​生成​图像

文字​生成​图像 登录账号后&#xff0c;在主页点击文字生成图像的【生成】按钮&#xff0c;进入到文字生成图像 查看图像 在文字生成图像页面&#xff0c;可以看到别人生成的图像。 点击某个图像&#xff0c;就可以进入图像详情&#xff0c;可以看到文字描述。 生成图像 我…...

JDK 11:崭新特性解析

JDK 11&#xff1a;崭新特性解析 JDK 11&#xff1a;崭新特性解析1. HTTP Client&#xff08;标准化&#xff09;示例代码 2. 局部变量类型推断的扩展示例代码 3. 新的字符串方法示例代码 4. 动态类文件常量示例代码 5. Epsilon 垃圾收集器使用方式 结语 JDK 11&#xff1a;崭新…...

leetcode.在链表中插入最大公约数

文章目录 题目解题方法复杂度Code Problem: 2807. 在链表中插入最大公约数 题目 给你一个链表的头 head &#xff0c;每个结点包含一个整数值。 在相邻结点之间&#xff0c;请你插入一个新的结点&#xff0c;结点值为这两个相邻结点值的 最大公约数 。 请你返回插入之后的链表。…...

云原生学习系列之基础环境准备(单节点安装kubernetes)

一、环境要求 操作系统CentOS 7.x-86_x64 硬件配置&#xff1a;内存2GB或2G&#xff0c;CPU 2核或CPU 2核&#xff0c;需要在虚拟机中提前设置好&#xff0c;不然后续会报错 二、系统初始化 1、设置主机名 # 在master节点执行 hostnamectl set-hostname master01 2、配置主…...

【数据结构】二叉树的概念及堆

前言 我们已经学过了顺序表、链表、栈和队列这些属于线性结构的数据结构&#xff0c;那么下面我们就要学习我们第一个非线性结构&#xff0c;非线性结构又有哪些值得我们使用的呢&#xff1f;那么接下来我们就将谈谈树的概念了。 1.树的概念与结构 1.1树的概念 树是一种非线性…...

AI技能库实战:模块化设计赋能博客创作自动化工作流

1. 项目概述&#xff1a;一个面向AI时代的博客技能开源库最近在GitHub上闲逛&#xff0c;发现了一个挺有意思的项目&#xff0c;叫inblog-inc/inblog-ai-skills。光看这个名字&#xff0c;就透着一股子“务实”的味道。它不是又一个教你如何调参炼丹的AI模型库&#xff0c;也不…...

InfluxDB实战:数据备份恢复的进阶策略与生产环境避坑指南

1. InfluxDB备份恢复的核心概念 第一次接触InfluxDB备份时&#xff0c;我也被各种术语搞得晕头转向。后来在实际项目中踩过几次坑才明白&#xff0c;InfluxDB的备份主要分为两类&#xff1a;元数据备份和数据库数据备份。元数据就像是你手机的通讯录&#xff0c;记录着所有用户…...

python海龟绘图之窗口背景

可以将海龟绘图的窗口背景设置为纯色或者图片。1 将窗口背景设置为纯色通过bgcolor()函数设置窗口的背景色。该函数有四种使用方法&#xff0c;分别是① bgcolor()② bgcolor(colorstring)③ bgcolor((r, g, b))④ bgcolor(r, g, b)1.1 bgcolor()bgcolor()不带参数的形式&#…...

怎么给照片更换背景?2026年最实用的免费工具推荐

前几天&#xff0c;一个朋友问我怎么快速给证件照换底色&#xff0c;她说用了好几个app都不太满意&#xff0c;不是效果差就是操作复杂。我才意识到&#xff0c;虽然现在给照片更换背景的工具这么多&#xff0c;但真正好用的却没几个。今天就来分享一下我用过的、靠谱的解决方案…...

Arduino开源贡献全流程:从Fork到Pull Request的工程实践

1. 项目概述与核心价值 如果你在玩Arduino&#xff0c;发现某个常用库有个小bug&#xff0c;或者想给它加个新功能&#xff0c;你会怎么做&#xff1f;是去论坛发个帖子&#xff0c;还是自己改完代码藏起来用&#xff1f;对于很多刚接触开源的朋友来说&#xff0c;虽然有心贡献…...

Stardew Valley Mod开发:使用OpenClaw主题框架快速构建原生风格UI

1. 项目概述&#xff1a;一个为Stardew Valley Mod开发者量身打造的主题框架如果你是一位《星露谷物语》&#xff08;Stardew Valley&#xff09;的模组&#xff08;Mod&#xff09;开发者&#xff0c;或者正打算踏入这个充满创造力的社区&#xff0c;那么你很可能已经体会过&a…...

RK3568 Debian系统Docker安装与ARM64容器化部署实战指南

1. 项目概述与核心价值最近在折腾一块基于瑞芯微RK3568的开发板&#xff0c;想在上面跑一些服务&#xff0c;自然而然地就想到了Docker。毕竟&#xff0c;Docker带来的环境隔离和便捷部署&#xff0c;对于嵌入式开发和边缘计算场景来说&#xff0c;简直是“神器”。但当我真正动…...

Go语言轻量级HTTP代理中间件curxy:架构解析与实战应用

1. 项目概述&#xff1a;一个轻量级的HTTP代理中间件最近在整理个人工具箱时&#xff0c;发现了一个挺有意思的小项目&#xff1a;ryoppippi/curxy。这并非一个功能庞杂的企业级代理网关&#xff0c;而是一个用Go语言编写的、极其轻量级的HTTP代理中间件。它的核心定位非常清晰…...

终极营销自动化工作流设计:工程师如何构建高效营销流程

终极营销自动化工作流设计&#xff1a;工程师如何构建高效营销流程 【免费下载链接】Marketing-for-Engineers A curated collection of marketing articles & tools to grow your product. 项目地址: https://gitcode.com/gh_mirrors/ma/Marketing-for-Engineers …...

LineageOS 18.1在一加9 Pro上的体验报告:纯净安卓11的续航、性能与Magisk模块搭配

一加9 Pro刷入LineageOS 18.1深度体验&#xff1a;纯净Android 11的终极玩法 当厂商定制系统越来越臃肿时&#xff0c;许多极客用户开始寻找更纯净的安卓体验。LineageOS作为CyanogenMod的精神继承者&#xff0c;一直是刷机爱好者的首选。本文将带您深入体验一加9 Pro刷入Linea…...