我創建了一個帶有單選按鈕的表單,并使用 react hook 表單進行了驗證,但是在控制臺中顯示日志資料時,它始終在選擇單選按鈕上顯示“打開”。
<div className="">
<label htmlFor="" className=" ">
US Citizen?
</label>
<div className="">
<div className="radio-container">
<input type="radio" name="radio" {...register("usCitizen")} />
<label>Yes</label>
</div>
<div className="radio-container">
<input type="radio" name="radio" {...register("usCitizen")} />
<label>No</label>
</div>
</div>
</div>
uj5u.com熱心網友回復:
使用提交輸入型別。(處理提交)
<form onSubmit={handleSubmit(onSubmit)}>
<div className="">
<label htmlFor="" className=" ">US Citizen?</label>
<div className="">
<div className="radio-container">
<input type="radio" name="radio" value="yes" {...register("usCitizen")} />
<label>Yes</label>
</div>
<div className="radio-container">
<input type="radio" name="radio" value="no" {...register("usCitizen")} />
<label>No</label>
</div>
</div>
</div>
<input type="submit" value="Submit" />
</form>
uj5u.com熱心網友回復:
我認為您需要添加一個處理 onclick 事件的函式,并添加一個可以將值設定為 true 或 false 的 useState 我不確定語法,但它非常像這樣:
const [radio, setRadio] = useState(false);
function handleClick(event){
const [val] = event.target.value;
setRadio(()=>{
if (val === true){
return(false)
}
else{
return(true)
}
}
}
<input type="radio" onclick={handleClick} value={radio}>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/377552.html
標籤:javascript 反应 验证 下一个.js 反应钩形
下一篇:輸入如何只接受十六進制數字
