reagieren, Tabelle Zeile Spalte anzeigen auf die Schaltfläche klicken

Ich habe eine Tabelle gebaut, die dynamisch durch Zuordnung über ein array. Jedes Element im array wird eine Zeile. Eine der Spalten in jeder dieser Zeilen ist ein select. Ich will nur, dass die Spalte der Inhalt angezeigt wird, wenn ein button in der gleichen Zeile die nächste Spalte geklickt wird.

Mein plan war, fügen Sie eine Art Knebel bool-Eigenschaft für jedes Objekt in meinem array, aber wenn ich dann versuche zu schalten in meinen Schaltfläche onclick, meine eslint ist beschwert, weil ich versuche, ändern einer Eigenschaft des Parameters schickte ich in die Funktion, die aufgerufen wird, indem die onclick.

Was ist der geeignete Weg, dies zu tun?

Hier ist der code für die Tabelle:

<table>
  <tbody>
    {myArray.map(row => (
      <tr key={`test-${row.name}`}>
        <td>
          <div className="testClass">{row.id}</div>
        </td>
        <td>{row.name}</td>
        <td>
          <Select
            options={this.getOptions(row.id)}
            onSelect={this.onOptionSelect}
            placeholder="Select something"
          />
        </td>
        <td><button onClick={() => { changeStuff(row); }}>{ row.myToggle ? 'Save' : 'Change something' }</button></td>
      </tr>
    ))}
  </tbody>
</table>
  • Können Sie update genau die eslint Fehler?
  • können Sie uns einige code ? Sie müssen wahrscheinlich behandeln Sie das display der Säule durch ein Zustands-flag
  • jede Zeile müsste Staates zu tun, ein Zustands-flag, Nein? An diesem Punkt werden die Zeilen, die haben keinen Staat. Ich will nicht, um zu zeigen, das dropdown für ALLE Zeilen, wird nur die Zeile für die Sie die-Taste geklickt wird.
  • um die Eigenschaft der Funktion parameter 'die Zeile'. (Nein-param-reaassign)"
  • habe etwas code zu zeigen, ungefähr so wie meine Tabelle aussieht.
  • Ich habe geschrieben Antwort. Werfen Sie einen Blick!

InformationsquelleAutor Ben Walker | 2017-08-23
Schreibe einen Kommentar