javascript - 用 js 地图检查的复选框
问题描述
我正在实施某种调查,并根据 api 响应创建问题和选择,使用 map 处理复选框 onChange,效果很好。但是,我无法正确选中复选框。
这是复选框
<FormControlLabel
key={choice.choiceID}
value={choice.choiceID}
control={<Radio />}
label={choice.text}
labelPlacement="end"
name={"" + question.questionID}
onChange={handleChange}
checked={
qValues1.get(question.questionID + "") === question.questionID + ""}
/>
我正在将 questionID 转换为字符串,因为 name prop 应该是字符串。
function handleChange(event) {
const { name, value } = event.target;
qValues1.set(name, value); // adding into map, which is state
if (qValues1.get(name) === value) {
return true;
}
}
我尝试将 map 转换为数组,并尝试使用 .includes() 找到choiceID,但没有运气。
解决方案
{qValues1.get(question.questionID + "") === question.questionID + ""}
您正在检查地图是否qValues
包含与其值匹配的键。所以你应该这样做:
const { name, checked } = event.target
qValues1.set(name, checked ? name : undefined);
在handleChange
.
推荐阅读
- kiwi-tcms - Kiwi TCMS 说当我“报告”Github 问题时我需要填写 base_url,即使该字段已填充
- java - 通知通道 - 设置后是否可以更改 LightColor?
- python - Tensorflow批处理:将结果保存为字符串
- java - 避免简单的 if/else 条件
- php - Elasticsearch php:具有日期间隔的文档聚合
- sql - 偏移量在 Visual Studio 的 tableadapter 中的查询中不起作用
- openmp - gsl_integration_qag 使用 gsl openmp 失败
- python - 找到一组集合,使得所选集合之间的元素交集最大
- python - Python - 在没有链接的网站中下载 csv 文件
- android - DataBinding 导致 Kotlin 编译器错误