将状态与id | ReactJS连接
我有多个复选框,当我点击“全选/无”复选框时,它会工作,所有复选框都被选中,但我希望能够逐个选中每个复选框。我的问题是它们都使用相同的状态。因此,如果我点击一个复选框只选中这一个,它将选中所有其他的复选框 所以我的问题是:是否可以将一个id连接到一个状态 我的国家有:将状态与id | ReactJS连接,reactjs,checkbox,state,Reactjs,Checkbox,State,我有多个复选框,当我点击“全选/无”复选框时,它会工作,所有复选框都被选中,但我希望能够逐个选中每个复选框。我的问题是它们都使用相同的状态。因此,如果我点击一个复选框只选中这一个,它将选中所有其他的复选框 所以我的问题是:是否可以将一个id连接到一个状态 我的国家有: isAllTablesChecked: false, isAllReportsChecked: false, isTableChecked: false, isReportChecked: false, tables: [
isAllTablesChecked: false,
isAllReportsChecked: false,
isTableChecked: false,
isReportChecked: false,
tables: [
{id: 1, name: 'Accounts'},
{id: 2, name: 'Asset Types'},
{id: 3, name: 'Assets'},
{id: 4, name: 'Bank Transactions'}
],
report: [
{id: 5, name: 'Aged Payables by Contact'},
{id: 6, name: 'Aged Receivables by Contact'},
{id: 7, name: 'Balance Sheet'},
{id: 8, name: 'Bank Statement'}
]
在下面的地图中:
const tables = this.state.tables.map(table =>
<div>
<Input
type="checkbox"
name={table.name}
id={this.state.isTableChecked}
checked={this.state.isTableChecked}
onClick={this.checkTables}
/>
<b> {table.name} </b>
</div>
)
const reports = this.state.reports.map(report =>
<div>
<Input
type="checkbox"
name={report.name}
id={this.state.isReportChecked}
checked={this.state.isReportChecked}
onClick={this.checkReports}
/>
<b> {report.name} </b>
</div>
)
谢谢你的帮助。我找到了解决问题的方法 正如我在回复Jeremy Harris时所说,我在状态数组的JSON数据中使用了checked属性 以下是解决方案的链接,它对我很有用:
希望这会对您有所帮助,我会将此主题作为已解决的主题。当您不在state.tables数组和state.reports数组中添加
选中的属性时?@JeremyHarris在JSON数据中?我已经试过了,但没用,我可能做得很糟。。。
id={this.state.isTableChecked+tables.id}