【发布时间】:2020-12-18 23:56:33
【问题描述】:
我正在开发一个测验应用程序,并希望让我的用户来回检查问题,看看他们在之前的问题中已经选择了什么。
我正在存储有关他们在该州选择的问题和答案的所有数据。 但是,我无法按应有的方式呈现选定的复选框。
如果我在选中的字段中放置一个变量,就像下面的(复选框)一样,那么问题中的所有复选框都会受到影响,我只想检查选定的复选框。 这是示例代码
https://codesandbox.io/s/confident-night-zyy2h?file=/src/App.js
import React, { useState } from "react";
import "./styles.css";
const answersArray = ["answer1", "answer2", "answer3", "answer4"];
const selectedAnswers = ["answer1", "answer3"]
export default function App() {
const [checkbox, setCheckbox] = useState(false);
function handleCheckbox() {}
return (
<div className="App">
<h1>question 1 - how to manipulate the checkboxes</h1>
{answersArray.map((possibleAnswer, index) => (
<li key={[index, possibleAnswer]}>
<div>
<input
name={[index, possibleAnswer]}
type="checkbox"
onChange={(event) => handleCheckbox(event, index)}
checked={checkbox}
/>
</div>
<div>
<span>{possibleAnswer}</span>
</div>
</li>
)
)}
</div>
);
}
关于如何解决这个问题的任何想法?例如,我想将答案 1 和 3 呈现为选中状态,并确保我的用户也可以取消选择它们并根据需要进行更改。
【问题讨论】:
-
在下面试试我的答案,它应该可以工作。我用手机接听,我似乎无法使用手机编辑器格式化我的代码。
标签: javascript reactjs input checkbox jsx