Duk*_*Duk 1 reactjs react-virtualized
我正在对数据表使用react-virtualized,但遇到了这个问题。我的目标是将onClick方法附加到单元格上。
我renderColumns里面有功能<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>
Run Code Online (Sandbox Code Playgroud)
在renderColumns功能上,我称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>;
Run Code Online (Sandbox Code Playgroud)
}
然后在_cellRenderer,席力图召_onCellClick的onClick事件。
_onCellClick() {
alert('yey');
}
_cellRenderer({
cellData,
columnData,
columnIndex,
dataKey,
isScrolling,
rowData,
rowIndex,
}) {
return (
<div>
<a onClick={this._onCellClick}>{cellData}</a>
</div>
);
}
Run Code Online (Sandbox Code Playgroud)
当我这样做时,我得到TypeError:无法读取未定义错误的属性'_onCellClick'。因此,它告诉我this在此范围内未定义?我究竟做错了什么?
我在这里创建了一个示例。谢谢。
您必须绑定_cellRenderer,因为您已经绑定了其他两种方法才能使用它。您只是将一个函数作为道具传递给表....如果未绑定,则不会有“ this”,因为类始终处于严格模式。
| 归档时间: |
|
| 查看次数: |
1842 次 |
| 最近记录: |