我正在使用React-Virtualized创建一个延迟加载的无限列表。
https://github.com/bvaughn/react-virtualized/blob/master/docs/InfiniteLoader.md
但是,我无法在渲染的div之间创建间隙,因为它们是绝对定位的并且top是动态计算的。
我尝试了以下方法,但是没有运气。 关于如何增加每个元素之间的差距的任何想法?谢谢!
<AutoSizer disableHeight>
{({width}) => (
<List
onRowsRendered={onRowsRendered}
ref={registerChild}
rowCount={rowCount}
rowRenderer={rowRenderer}
width={width - 30}
rowHeight={175}
height={this.state.height - 64}
style={{
paddingTop: 15,
boxSizing: 'content-box',
}}
containerStyle={{
position: 'relative',
overflow: 'visible',
}}
/>
)}
</AutoSizer>
答案 0 :(得分:0)
我最终通过在CellMeasurer内添加一个div作为父容器来提供填充来解决填充问题。
div是绝对定位的容器,而填充Card并显示框阴影。
<CellMeasurer
cache={this.cache}
columnIndex={0}
key={key}
rowIndex={index}
parent={parent}
>
{({ measure }) => (
<div
className={s.listItem}
style={style}
onLoad={measure}
key={index}>
<Card>