【发布时间】:2025-12-18 18:45:02
【问题描述】:
我正在做一个反应项目,我有这样的要求,
我有一个数组,里面包含 1 个对象和 1 个名为 Task[] 的数组
"contractor": [
{
"contractGivenBy": -1,
"contractorID": 0,
"contractorName": "contractor1",
"reviewedByAssigner": false,
"submitReviewToAssigner": false,
"tasks": [ 2, 4, 6 ],
"tasksDone": false
},
现在,我想在页面中将 Tasks 数组显示为复选框。
很好,我使用map() 方法显示了所有复选框,但问题是,当用户选中或取消选中特定复选框时如何处理(从这些复选框中获取值)。
我正在使用带有 React 钩子的 React 功能组件。
这是尝试过的..
<form onSubmit={onSubmitHandler}>
{
projectData.contractor[0].tasks.map((task, index) => {
return (
<div style={{ flexDirection: "column" }}>
<FormControlLabel
control={
<Checkbox
checked={false}
value={task}
onChange={handleTask} />
}
label={`task ${task}`}
/>
</div>
)
})
}
<Button
type="submit"
style={{
backgroundColor:"rgba(25,123,189)",
color: "white"
}}>
Assgin
</Button>
</form>
【问题讨论】:
-
可以显示多少个复选框?
tasks: [2, 4, 6]表示复选框编号吗? -
对于数组中的每个元素,我想显示一个复选框并获取复选框的值,该值最终是数组元素本身。
-
好的,那么复选框的最大值是多少?我的意思是,如果有
tasks: [2,4,6],有 6 个或更多复选框?如果计数是动态的,你怎么知道总计数? -
tasks.length方法知道任务数组的长度。 -
tasks只有 选中 框号,不是吗?我相信您应该显示所有复选框即使未选中。我是不是误会了?
标签: javascript reactjs