【发布时间】:2020-08-21 14:34:19
【问题描述】:
我正在创建一个包含一组复选框的表单。
当点击复选框时,我会获取该特定复选框的值并添加到一个数组(我正在使用 useState 挂钩),如果我取消选中它将从数组中删除该元素。
到目前为止,这是我的代码:
const ContactUs = () => {
const [cities, setCities] = useState([])
useEffect(() => {
console.log(cities)
})
const handleCheck = (e) => {
if (e.target.checked) {
setCities([...cities, e.target.value])
} else {
removeCities()
}
}
const removeCities = () => {
setCities(() => cities.splice(DT.length - 1, 1))
}
return (
<Content>
<form>
<SectionTitle>Day Tours</SectionTitle>
<Checkbox
type="checkbox"
id="1"
label="Dublin"
value="dublin"
name="dublin"
onChange={handleCheck}
/>
<Checkbox
type="checkbox"
id="2"
label="New York"
value="New York"
name="new-york"
onChange={handleCheck}
/>
<Checkbox
type="checkbox"
id="3"
label="Torino"
value="Torino"
name="torino"
onChange={handleCheck}
/>
</form>
</Content>
)
}
我可以将它添加到数组中,但我似乎无法删除它(或删除正确的)。
我尝试了拼接和切片方法,但我没有完全掌握它们的概念。
【问题讨论】:
-
可以编辑帖子并将数组上传到帖子吗? @Yuri_Rech
标签: javascript arrays reactjs react-hooks