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

前言

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

Demo

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

javascript 复制代码
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); //输出 firstName
    console.log(lastName); //输出 lastName
    console.log(formData); //输出 { firstName: xx, lastName: xx }
  };

  return (
    <FormContainer
      formContext={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的表单数据处理。希望本文会对你有所帮助。如果有什么问题,可在下方留言沟通。

相关推荐
RANxy3 分钟前
零基础全栈 React 入门(四):React Router 路由配置
前端·react.js
触底反弹3 分钟前
给 Claude 装上 27 个「外挂」后,我直接起飞了!
人工智能·react.js
KaMeidebaby4 分钟前
卡梅德生物技术快报|peg 修饰调控 MXene/WS2 异质结,氨气传感器制备与机理研究
大数据·前端·人工智能·架构·spark·新浪微博
lichenyang45311 分钟前
鸿蒙实战:安全高度 · 输入框贴键盘弹起 · Tab 底部导航全解
前端
前端毕业班15 分钟前
uni-app 小程序样式隔离实践指南和原理分析
前端·javascript·vue.js
JarvanMo20 分钟前
Flutter 鸿蒙化迎来"大搬家"
前端
吃口巧乐兹21 分钟前
热加载与插件热插拔:Debug 模式 × E-Spi × H-Spi 全解析
javascript
龙佚22 分钟前
抖动缓冲与播放控制:平滑播放的艺术
前端·架构
仿生狮子34 分钟前
🎼 从文本到交互界面——GenUI 的中庸之道
前端·vue.js·markdown
wuhen_n40 分钟前
LangChain 核心:Chain 链式调用实现复杂 AI 任务
前端·langchain·ai编程