【发布时间】:2020-04-29 00:00:50
【问题描述】:
我有一个数组中的对象列表,其中包含用户值。我想根据用户选择更改特定对象。更具体地说,我有一个表,对于每个用户,都有一个属性 ischecked,默认为 false。我希望当用户单击复选框时,isChecked 属性更改为 true。
这是显示表格数据的函数。
// Display Table Data
renderTableData = () => {
return this.state.students.map((student, index) => {
const { isChecked, name, age, email } = student; //destructuring
return (
<tr className={classes.tableRow} key={index}>
<td className={classes.tableDataSpecial}>
<div className={classes.content}>
{" "}
<input
type="checkbox"
checked={isChecked}
onChange={this.toggleCheckHandler}
/>
</div>
</td>
<td className={classes.tableData}>{name}</td>
<td className={classes.tableData}>{age}</td>
<td className={classes.tableData}>{email}</td>
</tr>
);
});
};
这是我的状态
state = {
students: [
{ isChecked: false, name: "Wasif", age: 21, email: "wasif@email.com" },
{ isChecked: false, name: "Ali", age: 19, email: "ali@email.com" },
{ isChecked: false, name: "Saad", age: 16, email: "saad@email.com" },
{ isChecked: false, name: "Asad", age: 25, email: "asad@email.com" }
]
};
这是我的 toggleCheckHandler 函数
toggleCheckHandler = e => {
console.log(e.target);
};
e.target 给了我 DOM 内容。那么如何定位该特定对象。
例如,我想将 Wasif 的 isChecked 设置为 true,我该怎么做?
【问题讨论】:
标签: arrays reactjs object state