</> getValues:
(payload?: string | string[]) => Object
用于读取表单值的优化辅助程序。watch
和 getValues
之间的区别在于 getValues
不会 触发重新渲染或订阅输入更改。
属性
类型 | 描述 |
---|---|
undefined | 返回整个表单值。 |
string | 获取表单值路径处的 value。 |
array | 返回表单值路径处的 value 数组。 |
示例
以下示例展示了调用 getValues
方法时的预期结果。
<input {...register("root.test1")} /><input {...register("root.test2")} />
名称 | 输出 |
---|---|
getValues() | { root: { test1: '', test2: ''} } |
getValues("root") | { test1: '', test2: ''} |
getValues("root.firstName") | '' |
getValues(["yourDetails.lastName"]) | [''] |
规则
- 禁用的输入将作为
undefined
返回。如果您想阻止用户更新输入并保留字段值,可以使用readOnly
或禁用整个 <fieldset />。这是一个 示例。 - 在初始渲染之前,它将从
useForm
返回defaultValues
。
示例
import React from "react"import { useForm } from "react-hook-form"type FormInputs = {test: stringtest1: string}export default function App() {const { register, getValues } = useForm<FormInputs>()return (<form><input {...register("test")} /><input {...register("test1")} /><buttontype="button"onClick={() => {const values = getValues() // { test: "test-input", test1: "test1-input" }const singleValue = getValues("test") // "test-input"const multipleValues = getValues(["test", "test1"]) // ["test-input", "test1-input"]}}>Get Values</button></form>)}
感谢您的支持
如果您发现 React Hook Form 对您的项目有用,请考虑为它加星并支持它。