Ich rendere Tabellendaten in React JS und habe Probleme beim Abrufen meiner Tabellenzeile beim Klicken auf eine untergeordnete Schaltfläche "Löschen". Meine aktuelle Prozedur und Funktionen machen sieht wie folgt aus:Wie entfernen Sie eine Eltern-Tabellenzeile, wenn die Schaltfläche "Löschen" in "React JS" geklickt wird?
...
changeHandler: function(e) {
...
},
deleteHandler: function(e) {
e.currentTarget.closest("tr").style.visibility = "hidden";
},
render: function() {
return (
<div>
<div class="container">
<select onChange={ this.changeHandler.bind(this) }>
<option></option>
...
</select>
<table>
<thead>
<tr>
...
</tr>
</thead>
<tbody>
{data.map(function(row, j) {
return <tr key={j}>
<td>{row.text}</td>
<td><a href="" onClick={this.deleteHandler.bind(this, j)}>delete</a></td>
</tr>
}
)}
</tbody>
</table>
</div>
</div>
);
}
...
Wenn ich auf dem Lösch Anker klicken, bekomme ich diesen Fehler in der Konsole:
Uncaught TypeError: Cannot read property 'bind' of undefined
Ich verstehe nicht, warum meine löschen Handler isn Ich werde nicht erkannt und gebunden, wenn der changeHandler, den ich benutze, ist. Könnte mir bitte jemand sagen, wie man dieses Ereignis bekommt, um den Handler zu treffen und wie man den Elternteil tr anvisiert, um ihn versteckt zu halten?
Können wir mehr des Codes oder ein kleines Stück = get> codepen? Es gibt einen es6 Stift, den du abzweigen kannst ... versuche bind (null, j)? Buchstabiert im Dunkeln ohne Beispiel. – Mintberry
Dies hat alles außer dem Lösch-Handler implementiert. – kurofune
versuchen [diesen Link] (https://jsfiddle.net/ssbdnbw8/12/) – kurofune