Javascript React onChange需要双击以获取所选值
我目前有一个接受“是”或“否”(收音机)的表格 我希望它将所选值传递给一个状态。我设法让它工作,但问题是,我需要双击所选的,它注册 以下是我当前代码的场景: 默认值为“否”,如果我单击“是”,该值仍为“否”。如果我双击“是”,该值将变为“是”。如果我再次单击“否”,该值仍为“是”,直到我双击“否” 以下是我当前的代码:Javascript React onChange需要双击以获取所选值,javascript,reactjs,Javascript,Reactjs,我目前有一个接受“是”或“否”(收音机)的表格 我希望它将所选值传递给一个状态。我设法让它工作,但问题是,我需要双击所选的,它注册 以下是我当前代码的场景: 默认值为“否”,如果我单击“是”,该值仍为“否”。如果我双击“是”,该值将变为“是”。如果我再次单击“否”,该值仍为“是”,直到我双击“否” 以下是我当前的代码: //Initialize variables const [answer,setAnswer] = useState({ has_commendations: f
//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>
onStaticAnswerClick(e,7)}
name=“inlineradioptions”
id=“inlineRadio17”
值={0}
默认检查
/>
不
onStaticAnswerClick(e,7)}
name=“inlineradioptions”
id=“inlineRadio17”
值={1}
/>
对
我现在真的很困惑。提前感谢您的帮助 尝试使用
onChange
<input
className="form-check-input"
type="radio"
onChange={e => onStaticAnswerClick(e,7)}
name="inlineRadioOptions"
id="inlineRadio17"
value={1}
/>
onStaticAnswerClick(e,7)}
name=“inlineradioptions”
id=“inlineRadio17”
值={1}
/>
Hi,我现在刚试过,效果不错(额外的好处是我不能再双击同一个按钮)。但现在的问题是,我的第一次单击始终是默认值(例如,从默认值“否”单击到“是”将具有“否”的值,但在“否”和“是”之间来回现在将生成正确的值。如果我要猜测,我需要一种方法让它立即注册所选值,例如,在第一次单击时触发onChange。我是否正确?请注意,我翻转了Yes(1)和No(0)的值,以适应更改。这两个单选按钮是否应该链接?是否只有两个按钮?或者您正在谈论切换?肯定是两个单选按钮。抱歉,但链接是什么意思?如果我的说明有帮助,我的单选选项看起来是这样的:()否()是的,因为一次只能选择一个单选按钮,所以您的if else
语句不起作用。它只包含值。单选按钮就是这样工作的。因此,在决定如何使用它之前,您必须先看看它是如何工作的。