我在几个复选框组中运行了几个复选框。我不知道如何取消选中某个复选框(从而改变状态)。出于某种原因,我无法访问e.target.checked
。
<Checkbox
size="small"
name={item}
value={item}
checked={checkboxvalues.includes(item)}
onChange={(e) => handleOnChange(e)}
/>
我的职责
const handleOnChange = (e) => {
const check = e.target.checked;
setChecked(!check);
};
我在this sandbox中制作了一个组件的工作示例。感谢您的帮助
1条答案
按热度按时间dba5bblo1#
最好的方法是将选中的复选框保存到一个状态数组中,因此要选中或取消选中它,只需根据需要唯一的复选框值属性过滤此状态数组。
尝试在checkbox属性checked上使用array.some()。要删除它,只需过滤状态数组中设置的与该复选框值不同的复选框。