我在网上尝试了一些解决方案,但无法修复,因此我需要询问。我有在渲染中Map的复选框。如果选中,我想将复选框的值添加到数组状态,如果未选中,则删除该值。感谢你对我所做的一切的帮助;
我的jsx;
{props.edit && <input type="checkbox" value={props.id} onChange={(e) => setDeleteId(e)}/>}
功能;
const [deleteId, setdeleteId] = useState([]);
const setDeleteId = (e) => {
setdeleteId([...deleteId, e.target.value]);
}
useEffect(() => {
console.log(deleteId);
}, [deleteId])
1条答案
按热度按时间nom7f22z1#
您的事件处理程序看起来总是在添加复选框
id
到状态-当复选框未选中时,您还需要将其删除,例如-下面是stackblitz的一个演示,展示了它是如何组合在一起的。