Ich benutze react-virtualisiert für Datentabelle und ich habe dieses Problem. Mein Ziel ist es, onClick
Methode an die Zellen anhängen.Reagieren virtualisierte Tabelle CellRenderer onClick-Methode Problem
Ich habe renderColumns
Funktion innerhalb <Table>
<AutoSizer disableHeight>
{({ width }) => (
<Table
width={800}
height={600}
headerHeight={25}
rowHeight={30}
rowCount={list.length}
rowGetter={({ index }) => list[index]}
>
{this._renderColumns(list, 100)}
</Table>
)}
</AutoSizer>
Und in renderColumns
Funktion, ich nenne this._cellRenderer
_renderColumns(list, columnWidth) {
// create new list for display
return list && Object.keys(list[0])
? Object.keys(list[0]).map(column => (
<Column
key={column}
width={columnWidth}
label={column}
dataKey={column}
cellRenderer={this._cellRenderer}
/>
))
: <div className="loading">Loading…</div>;
}
Dann in _cellRenderer
, habe ich versucht _onCellClick
auf onClick
Ereignis zu nennen.
_onCellClick() {
alert('yey');
}
_cellRenderer({
cellData,
columnData,
columnIndex,
dataKey,
isScrolling,
rowData,
rowIndex,
}) {
return (
<div>
<a onClick={this._onCellClick}>{cellData}</a>
</div>
);
}
Wenn ich das tue, ich Typeerror bekommen: nicht Eigentum ‚_onCellClick‘ undefinierten Fehler lesen. Also sagt es mir, dass this
in diesem Bereich nicht definiert ist? Was mache ich falsch?
Ich habe hier ein Beispiel erstellt. Vielen Dank.
Das war es. 'this' stolpert mich immer. Ich danke dir sehr! – Duk