NodeJs:每当选中复选框时,我都希望将它们添加到我的VerificationData设置器中



每当检查一个/多个数据时,我需要帮助了解如何在数组中添加数据。

const [data, setData] = useState([]);
{
verifications.map(record => {
console.log(verifications)
return(
<Col xs={12} md={3} mb={3}>
<Form.Group key={record.id} className="mb-3" controlId={record.verifyName}>
<Form.Check value={record.verifyName} label={record.verifyName} />
</Form.Group>
</Col>  
)
})
}

示例:•名字•姓氏•地址

如果我检查了名字和地址,它们将被添加到我的状态设置器中以获取数据。

感谢你的帮助。

您需要在检查输入中有一个onChange事件,并调用setData函数来设置值。这里有一个的例子

const [data, setData] = useState([]);
useEffect(() => {
console.log(data);
}, [data]);
return (
<div>
<input
type="checkbox"
value="Rahul"
name="firstName"
onChange={e => setData([...data, e.target.value])}
/>
</div>

目前有效的是:

<Form.Group
key={record.id} 
className="mb-3" 
controlId={record.verifyName}>
<Form.Check onChange={e=>{
const value = e.target.value
collection.push(value);
console.log(collection)}}
tag="verify"
value={record.verifyName} 
label={record.verifyName} />
</Form.Group>

但是,每当该值被多次单击时,它就会不断添加。我试图添加一个条件语句,但没有做任何不确定是否正确的事情。

if(value.checked == true) {
collection.push(value)
}

我想原因是因为我瞄准的是它的价值而不是对象?有什么帮助吗?

最新更新