我有 1-8 行(带有自己的按钮),我想在用户使用时正确禁用每个按钮。现在,它只是在单击任何按钮时禁用最后一个按钮。知道我做错了什么吗?当它是 for 循环时,如何正确禁用按钮?
class ResolveSourceContainer extends Component {
constructor(props) {
super(props);
this.state = {
modalOpen: false,
updated: [],
key: 0,
};
}
disableRow = (key) => {
let {updated} = this.state
updated.push(key)
this.setState({updated})
}
render() {
const { size, modalOpen} = this.state;
let {key} = this.state
const { element} = this.props;
return (
<div>
<Modal size={size} open={modalOpen} onClose={this.closeModal}>
<Modal.Content style={{textAlign: 'center'}}>
<div className='ird-modal'>
<Modal.Header>
{`${element.lid}`}
</Modal.Header>
</div>
<Table>
<Table.Header>
<Table.Row>
<Table.HeaderCell>Type</Table.HeaderCell>
<Table.HeaderCell>Update</Table.HeaderCell>
</Table.Row>
{Object.keys(element.auditdiff).map(function(dataType){
if (dataType !== "Lid" && dataType !== "Datacenter" && dataType !=="Id")
return (
Object.keys(element.auditdiff[dataType]).map(function(data){
{key++}
return (
<Table.Row key = {i}>
<Table.Cell>{data + " " + dataType}</Table.Cell>
<Table.Cell>
<Button content='Update Row' color='green' disabled = {updated.indexOf(key) >-1} //not correctly disabling the button
onClick = {() => {this.disableRow(key)} }
/>
</Table.Cell>
</Table.Row>
);
})
)})
}
</Table.Header>
</Table>
</Modal.Content>
</Modal>
</div>
)
}
}