コンテンツへスキップ

setFocus

手動で入力にフォーカスを設定する

setFocus: (name: string, options: SetFocusOptions) => void

このメソッドを使用すると、ユーザーはプログラムで入力にフォーカスできます。入力のrefがフックフォームに登録されていることを確認してください。

プロパティ


名前説明
namestringフォーカスする入力フィールドの名前
optionsshouldSelectbooleanフォーカス時に入力内容を選択するかどうか。
ルール
  • このAPIはrefからフォーカスメソッドを呼び出すため、register中にrefを提供することが重要です。
  • reset APIによってすべての入力参照が削除されるため、resetの直後にsetFocusを呼び出すことは避けてください。


import * as React from "react"
import { useForm } from "react-hook-form"
type FormValues = {
firstName: string
}
export default function App() {
const { register, handleSubmit, setFocus } = useForm<FormValues>()
const onSubmit = (data: FormValues) => console.log(data)
renderCount++
React.useEffect(() => {
setFocus("firstName")
}, [setFocus])
return (
<form onSubmit={handleSubmit(onSubmit)}>
<input {...register("firstName")} placeholder="First Name" />
<input type="submit" />
</form>
)
}
import * as React from "react"
import { useForm } from "react-hook-form"
export default function App() {
const { register, handleSubmit, setFocus } = useForm()
const onSubmit = (data) => console.log(data)
renderCount++
React.useEffect(() => {
setFocus("firstName")
}, [setFocus])
return (
<form onSubmit={handleSubmit(onSubmit)}>
<input {...register("firstName")} placeholder="First Name" />
<input type="submit" />
</form>
)
}

ご支援ありがとうございます

React Hook Form がプロジェクトで役立つと思われる場合は、スターを付けてサポートを検討してください。