做大數據和網站開發(fā)的前景seo網絡優(yōu)化推廣
前言
在上一篇文章中,我們介紹了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
的表單數據處理。希望本文會對你有所幫助。如果有什么問題,可在下方留言溝通。