javascript - React onChange 需要双击才能获得选定的值
问题描述
我目前有一个接受“是”或“否”(无线电)的表格。
我想要的是将所选值传递给状态。我设法让它工作,但问题是我需要双击选择它才能注册。
以下是我当前代码的场景: 默认值为“否”,如果我单击“是”,该值仍然是“否”。如果我双击“是”,该值将变为“是”。如果我再次单击“否”,该值仍然保持“是”,直到我双击“否”
这些是我当前的代码:
//Initialize variables
const [answer,setAnswer] = useState({
has_commendations: false,
has_complaints: false
})
关于答题功能
const onStaticAnswerClick = (e,number) => {
// Static question number 7
if(number === 7) {
setAnswer({
...answer,
has_commendations:Boolean(Number(e.target.value))
})
}
// Static question number 8
if(number === 8) {
setAnswer({
...answer,
has_complaints:Boolean(Number(e.target.value)),
})
}
}
电台选择
<div className="ml-2 mt-1 d-flex flex-row mt-2">
<div className="form-check form-check-inline">
<input
className="form-check-input"
type="radio"
onClick={e => onStaticAnswerClick(e,7)}
name="inlineRadioOptions"
id="inlineRadio17"
value={0}
defaultChecked
/>
<label className="form-check-label" htmlFor="inlineRadio1">No</label>
</div>
<div className="form-check form-check-inline ml-3">
<input
className="form-check-input"
type="radio"
onClick={e => onStaticAnswerClick(e,7)}
name="inlineRadioOptions"
id="inlineRadio17"
value={1}
/>
<label className="form-check-label" htmlFor="inlineRadio2">Yes</label>
</div>
我现在真的很难过。预先感谢您的帮助!
解决方案
而不是onClick
,尝试使用onChange
<input
className="form-check-input"
type="radio"
onChange={e => onStaticAnswerClick(e,7)}
name="inlineRadioOptions"
id="inlineRadio17"
value={1}
/>
推荐阅读
- terminal - 尝试在 crontab 上运行 .sh,在 Macbook 上出现“不允许操作”
- python - 如何将使用opencv读取的ipcam帧转换为hls流
- prestashop - str_split() 的 Smarty 等效项
- c++ - Unicode 字符无法识别
- python - 将格式设置为标题时,熊猫数据框自动调整列宽度
- bash - 如何运行 mp4 文件直到它在 linux 中结束?
- sql - 在 Django ORM 中转换复杂的 SQL 查询
- wso2 - WSO2 身份服务器基础 -V5.11:无法运行“pickup-dispatch”应用程序
- reactjs - 如何在 Danfojs 中获取 DataFrame 的列值?
- python - 如何合并两个数据框并将空值替换为另一个?