reactjs - React Bootstrap 可点击的 Form.Check
问题描述
我在 ReactBootstrap 中遇到 Form.Check 的问题,我怎样才能让整个 div 可点击(当我点击标签时,该框被选中)?这是我的代码:
import React, { useState, useEffect } from "react";
import { Form } from "react-bootstrap";
const data = ["icecream", "coffee", "burger"];
const [checkedChoices, setCheckedChoices] = useState([]);
const onchangeCheckbox = (e) => {
!e.target.checked
? setCheckedChoices(
checkedChoices.filter((each) => each !== e.target.value)
)
: setCheckedChoices([...checkedChoices, e.target.value]);
};
return (
<div>
<Form>
<Form.Group>
{data.map((each) => {
return (
<Form.Check
label={each}
name="ex6"
value={each}
onChange={onchangeCheckbox}
/>
);
})}
</Form.Group>
<Form.Text>
you chose{" "}
{checkedChoices.length == 0 ? "nothing " : checkedChoices.toString()}
</Form.Text>
</Form>
</div>
);
};
export default Example6Forward;
解决方案
您应该将 id 添加到 Form.Check。例如:
{data.map((each, idx) => {
return (
<Form.Check
id={idx}
label={each}
name="ex6"
value={each}
onChange={onchangeCheckbox}
/>
);
})}
推荐阅读
- java - Spring的application.properties中应该转义哪些字符?
- jquery - 将输入值乘以跨度
- android - 无法启动接收器 com.google.firebase.iid.FirebaseInstanceIdInternalReceiver android Oreo
- c# - 如何从 c# 代码向存储过程参数添加“N”前缀
- php - 在 Ubuntu 16.04 上使用 PHP 7.2 连接到 SQL Server,使用 Microsoft Drivers for PHP for SQL Server,在浏览器中工作但在命令行中失败
- javascript - 在 Python 中将视频源从 Javascript 传递到 OpenCV
- php - Yii2 设置“类”的首选方式
- php - 在我的 wifi IP 上运行 PHP 项目,例如 localhost - Apache2
- codefluent - Codefluent 执行超时
- angular - 错误:类型“{}”上不存在属性映射