我當了3個星期的小弟,遇到了第一個我自己無法解決的問題,而我的前輩卻離開了2個星期。
我似乎無法讓 react hook 表單在欄位 a 有效時禁用和啟用欄位 b。
我試著使用isValid(),但它回傳的是一個承諾,所以一旦欄位變得無效,就無法重新檢查。
我曾嘗試查看是否存在錯誤,并根據是否存在錯誤來禁用和啟用欄位,這在一定程度上是可行的,但如果欄位為空則無法禁用,而在我的情況下這將是無效的。
<input disabled={errors.name ?} />
https://codesandbox.io/embed/beautiful-mclean-ewmdu?fontsize=14&hidenavigation=1&theme=dark/a>
歡迎任何建議
。uj5u.com熱心網友回復:
所以我想在這里使用watch()函式從react hook form。我正在觀察全名的輸入值,將其存盤在一個變數中,并使用它作為檢查我是否應該禁用輸入的方法。下面是一個不完整的代碼示例:
const {
注冊。
handleSubmit,
watch, //Don't forget to pull watch from useForm。
formState: { errors } >。
} = useForm({
mode: "onChange"/span>,
resolver: yupResolver(validationSchema)
});
// FullName變數值將在輸入欄位有更新時發生變化。
const fullName = watch('fullname') 。
const onSubmit = (data) => console.log( data)。
...等等
return (
...等
<輸入
disabled={!fullName || fullName.length === 0 || erros.fullName }
className="shadow appearance-none border rounded w-full py-2 px-3 text-gray-700 leading-tight focus:outline-none focus:shadow-outline"
name="coolname"/span>
{...register("coolname")}。
/>
...等
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/311787.html
標籤:
上一篇:檢查字串是否不包含數值
