设置后取消设置 scrollToIndex
unset scrollToIndex after setting it
我正在使用 InfiniteLoader
和 Table
,并且我有一些条目的索引,这些条目与存储在状态中的特定条件相匹配。如果用户想要浏览这些条目,我将不得不向下传递到 Table
每个索引(单击按钮后)并在 scrollToIndex
中使用它。然而,在它被传递下来之后,我将不得不再次使它成为 null
,否则如果用户要滚动 up/down 和 Table
,他总是会结束到 Table
指定的相同索引=13=] 而不是当前滚动位置。
除了两次设置状态,一次使用索引然后使用 null
值之外,还有更好的方法吗?
希望我的问题很清楚。
Table
(以及Grid
和List
)也有public方法来设置一次滚动索引。对于 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>
我正在使用 InfiniteLoader
和 Table
,并且我有一些条目的索引,这些条目与存储在状态中的特定条件相匹配。如果用户想要浏览这些条目,我将不得不向下传递到 Table
每个索引(单击按钮后)并在 scrollToIndex
中使用它。然而,在它被传递下来之后,我将不得不再次使它成为 null
,否则如果用户要滚动 up/down 和 Table
,他总是会结束到 Table
指定的相同索引=13=] 而不是当前滚动位置。
除了两次设置状态,一次使用索引然后使用 null
值之外,还有更好的方法吗?
希望我的问题很清楚。
Table
(以及Grid
和List
)也有public方法来设置一次滚动索引。对于 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>