【发布时间】:2022-01-15 02:33:54
【问题描述】:
我正在对我的产品进行过滤,此时我有两个复选框,一个是保修,另一个是安装,我的 onChange 方法是这样的:
const [data, setData] = useState({
install: false,
warranty: false
})
const handleInputChanges = (e) => {
const { name, type, checked, value } = e.target;
const eachValue = type === 'checkbox' ? checked : value;
setData({
...data,
[name]: eachValue
})
console.log(data)
}
输入是这样的:
<FormControlLabel
name="install"
control={
<Checkbox
name="install"
onChange={handleInputChanges}
color="primary"
value={data.install}
/>
}
label="Instalación"
/>
<FormControlLabel
name="warranty"
control={
<Checkbox
name="warranty"
onChange={handleInputChanges}
color="primary"
value={data.warranty}
/>
}
label="Garantía"
/>
问题是当我点击复选框时,值没有改变,要改变它我必须按两次,但值与复选框不一致。示例:复选框处于活动状态(视觉上),但在值中它返回 false,反之亦然。两种输入都会发生这种情况。
【问题讨论】:
标签: reactjs input checkbox react-hooks