javascript - 当我进入下一个问题时,为什么最后选中的复选框保留它?反应式
问题描述
我正在研究调查提问者,我有多个问题,当我检查一个问题复选框时,它还会检查下一个问题等等,所以现在如何在我进入下一个调查问题时继续检查?
这是json问题列表。请帮助我,我最近几天一直在挣扎
这是我没走远的地方?这是检查功能
const processInput = (e) => {
const checked = e.target.checked;
let detachedAnswers = answers;
if (checked) {
let index = detachedAnswers.findIndex((i) => i.question === show.id);
// detachedAnswers[index] = e.target.checked;
detachedAnswers[index].body.push(e.target.value);
console.log(detachedAnswers);
setAnswers(detachedAnswers);
} else {
const filtered = detachedAnswers[number].body.filter(
(string) => string !== e.target.value
);
detachedAnswers[number].body = filtered;
setAnswers(detachedAnswers);
}
};
这是使用复选框的调查显示。
<div className="survey_option">
{show?.choices?.split(",").map((c, index) => (
<div className="fix_lable" key={index + 1}>
<input
type="checkbox"
name="body"
id={c}
value={c}
// checked
// checked={c}
onChange={(e) => processInput(e, show.id)}
/>
<label id={c} htmlFor={c}>
{c.split("-")[0]}
</label>
</div>
))}
</div>
</div>
解决方案
推荐阅读
- c# - 如何匹配时间布局(ms)?
- ruby-on-rails - rvm 编译错误以安装 ruby 2.5.0
- ruby-on-rails - Ruby on Rails 和 Postgresql - 服务器正在运行,但我收到无法连接到服务器错误
- node.js - 在无服务器的快速应用程序中使用 swagger 多次重定向到 swagger 端点
- android - rxJava 中 doOnSuccess 与 onSuccess 的用例是什么
- installation - 用于 RHEL 7 的 JBoss EAP 7.1 安装程序
- python - Selenium xpath 链接与 Python firefox 驱动程序未单击
- javascript - 更新 MongoDB 的路由和模型会删除数据或引发错误
- c - 如何在c中从文件中读取日期
- python - 如何在 2 个数组之间找到最接近的值