我正在玩一些反应本地的人,我陷入了一个我无法自己解决的阶段.我有一个项目列表,我想自动滚动到某个项目.
我知道我可以使用ScrollView和contentOffset = {{x:0,y:0}}并设置和偏移,但是它会有点复杂,因为我需要跟踪每个项目的位置,我我想知道是否有一个简单的方法,所以我可以专注于ListView中的特定行.
lib上有这样的东西吗?如果有人能给我一个暗示会很棒……
ScrollView不提供滚动到特定列表项的方法 – 但它确实提供了scrollTo({x,y,animated})方法.
如果您的列表项具有相同的高度,则可以通过调用scrollTo({y:itemIndex * ROW_HEIGHT})来使用它们来实现滚动到特定项目.
为了能够访问ScrollView实例,您需要使用ref属性回调进行捕获:
<ScrollView ref={view => this._scrollView = view} />
并将滚动位置设置在其他位置:
scrollToRow(itemIndex) { this._scrollView.scrollTo({y:itemIndex * ROW_HEIGHT}); }