Gab*_*pes 12 listview scrollview react-native
我正在玩一些反应本地的人,我陷入了一个我无法自己解决的阶段.我有一个项目列表,我想自动滚动到某个项目.
我知道我可以使用ScrollView和contentOffset = {{x:0,y:0}}并设置和偏移,但是它会有点复杂,因为我需要跟踪每个项目的位置,我我想知道是否有一个简单的方法,所以我可以专注于ListView中的特定行.
lib上有这样的东西吗?
jev*_*lio 16
ScrollView不提供滚动到特定列表项的方法 - 但它确实提供了方法scrollTo({x, y, animated}).
如果您的列表项具有相同的高度,则可以使用它们通过调用实现滚动到特定项目scrollTo({y:itemIndex * ROW_HEIGHT}).
为了能够访问ScrollView实例,您需要使用ref属性回调进行捕获:
<ScrollView ref={view => this._scrollView = view} />
Run Code Online (Sandbox Code Playgroud)
并将滚动位置设置在其他位置:
scrollToRow(itemIndex) {
this._scrollView.scrollTo({y:itemIndex * ROW_HEIGHT});
}
Run Code Online (Sandbox Code Playgroud)
我发布了react-native-scroll-into-view,这是一个为 React Native ScrollView 启用“scrollIntoView”功能的库。
对于像 SectionList 这样的其他列表,您仍然可以使用其他答案中提到的项目索引。