Table in react-virtualized 不呈现任何行
Table in react-virtualized does not render any rows
我在使用 react-virtualized Table(在 AutoSizer 内的 InfiniteLoader 内)和自定义行渲染器时遇到问题。 Header 行已呈现,但没有数据行。 rowRenderer
或 rowGetter
甚至都不会被调用任何行。我检查了数据是否存在 (this.props.requests
)。
我错过了什么,或者我该如何进行调试?
<AutoSizer>
{({ height, width }) => (
<InfiniteLoader
isRowLoaded={this.isRowLoaded}
loadMoreRows={this.props.loadMoreEntries}
rowCount={(this.props.requests || []).length}
>
{({ onRowsRendered, registerChild }) => (
<Table
deferredMeasurementCache={this._cache}
onRowsRendered={onRowsRendered}
overscanRowCount={2}
ref={registerChild}
height={height}
headerHeight={50}
rowCount={(this.props.requests || []).length}
rowHeight={this._cache.rowHeight}
rowRenderer={this._rowRenderer}
rowGetter={this._rowGetter}
onRowClick={this.rowClicked}
width={width}
>
<Column
dataKey="requestType"
label="RqType"
width={100}
cellRenderer={this._renderRequestType}
/>
...
</Table>
)}
</InfiniteLoader>
)}
</AutoSizer>
我的猜测是容器 div 没有固定高度,并且由于您使用的是 Autosizer
,因此您的 table 最终高度 = 0。尝试使用固定高度height
在 Table
的道具和容器 div (可能基于当前行数 * 行高)。
您也可以检查 rowCount
是否为阳性,但据我所知应该没问题。
我在使用 react-virtualized Table(在 AutoSizer 内的 InfiniteLoader 内)和自定义行渲染器时遇到问题。 Header 行已呈现,但没有数据行。 rowRenderer
或 rowGetter
甚至都不会被调用任何行。我检查了数据是否存在 (this.props.requests
)。
我错过了什么,或者我该如何进行调试?
<AutoSizer>
{({ height, width }) => (
<InfiniteLoader
isRowLoaded={this.isRowLoaded}
loadMoreRows={this.props.loadMoreEntries}
rowCount={(this.props.requests || []).length}
>
{({ onRowsRendered, registerChild }) => (
<Table
deferredMeasurementCache={this._cache}
onRowsRendered={onRowsRendered}
overscanRowCount={2}
ref={registerChild}
height={height}
headerHeight={50}
rowCount={(this.props.requests || []).length}
rowHeight={this._cache.rowHeight}
rowRenderer={this._rowRenderer}
rowGetter={this._rowGetter}
onRowClick={this.rowClicked}
width={width}
>
<Column
dataKey="requestType"
label="RqType"
width={100}
cellRenderer={this._renderRequestType}
/>
...
</Table>
)}
</InfiniteLoader>
)}
</AutoSizer>
我的猜测是容器 div 没有固定高度,并且由于您使用的是 Autosizer
,因此您的 table 最终高度 = 0。尝试使用固定高度height
在 Table
的道具和容器 div (可能基于当前行数 * 行高)。
您也可以检查 rowCount
是否为阳性,但据我所知应该没问题。