我使用的是带有InfiniteLoader的Table,并且有些条目的索引与状态中存储的特定条件相匹配。如果用户想要查看这些条目,我必须将每个索引(按一下按钮后)传递给Table,并在scrollToIndex中使用它。但是,在它被传递下来之后,我将不得不再次将其设置为null,否则如果用户要向上/向下滚动Table,他总是以scrollToIndex指定的相同索引结束,而不是当前滚动位置。
除了两次设置状态(一次用索引,然后用null值)之外,还有更好的方法吗?
希望我的问题很清楚。
发布于 2017-03-01 16:15:09
Table (以及Grid和List)也有设置一次滚动索引的公共方法.对于Table,方法是scrollToRow,您只需将要滚动到的索引传递给它。也许这更符合你的喜好?
编辑:作为对后续问题的回应,如果您也需要将它传递给InfiniteLoader,您如何获得对Table的引用?
<InfiniteLoader {...infiniteLoaderProps}>
{({ onRowsRendered, registerChild }) => (
<Table
{...tableProps}
onRowsRendered={onRowsRendered}
ref={(ref) => {
this._tableRef = ref // Store for yourself
registerChild(ref) // And pass on to InfiniteLoader
}}
>
{/* Columns ... */}
</Table>
)}
</InfiniteLoader>https://stackoverflow.com/questions/42531200
复制相似问题