我在玩react native游戏,我被困在一个我自己都搞不懂的阶段.我有一个项目列表,我想自动滚动到一些项目.
我知道我可以使用ScrollView和contentOffset={{x:0,y:0}}以及set和offset,但是这会有点复杂,因为我需要跟踪每个项目的位置,我想知道是否有一种简单的方法来实现,这样我就可以关注ListView中的特定行.
libs上有这样的东西吗?
我在玩react native游戏,我被困在一个我自己都搞不懂的阶段.我有一个项目列表,我想自动滚动到一些项目.
我知道我可以使用ScrollView和contentOffset={{x:0,y:0}}以及set和offset,但是这会有点复杂,因为我需要跟踪每个项目的位置,我想知道是否有一种简单的方法来实现,这样我就可以关注ListView中的特定行.
libs上有这样的东西吗?
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});
}