Ich habe ein Problem, wo ich mehrere Fortschrittsbalken mit onClick-Ereignis erstellt habe, aber wenn ich auf den Fortschrittsbalken klicke, wird das Ereignis onClick aller anderen Fortschrittsbalken aktiviert.onClick aktiviert alle anderen onClick-Ereignisse
Ich habe eine for-Schleife, die mehrere <td>
mit einem Fortschrittsbalken drängt, um gerendert zu werden.
Was ich erreichen möchte, ist, wenn der Benutzer auf jede Progress Bar klickt, verschiedene Details erscheinen auf dem Modal, je nachdem, auf welcher Progress Bar sie klicken.
Ich verwende react-overlays modal.
Picture of all the div showing up hidden after clicking on the Progress Bar
Vielen Dank für Ihre Hilfe!
Code:
getInitialState: function(){
return { showModal: false };
},
close(){
this.setState({ showModal: false });
},
open(){
this.setState({ showModal: true });
},
for loop(
bodyRows[cellIndex].push(
<td id="tableBody">
<div className="progress" role="progressbar" id="progressBarStyle" onClick={this.open}>
<Modal
aria-labelledby='modal-label'
style={modalStyle}
backdropStyle={backdropStyle}
show={this.state.showModal}
onHide={this.close}
keyboard={true}
>
<div style={dialogStyle()} >
Hello
</div>
</Modal>
<div className="progress-meter" data-values={this.calculatePercent(value)}>
{Math.floor(this.calculatePercent(value)) + '%'}
</div>
</div>
</td>
)
)
Ich denke, dass Sie eine Eigenschaft oder etwas übergeben können, um den bestimmten Klick zu identifizieren. onClick = {() => this.open ('progressBar1')} – Joel