在反应本机中有一个滚动函数,可以编程滚动到给定的x和y坐标,或者动画。
https://facebook.github.io/react-native/docs/scrollview.html#scrollto
scrollTo({x: 0; y: 0; animated: true})
在某些情况下,这很有用,但是在某些情况下,我只想向下滚动100像素或滚动200像素,无论屏幕上的位置x,y位置如何。有没有办法在当前在反应中进行编程。
您可以通过执行此答案中提到的操作来跟踪当前的X和y滚动位置。因此:
<ScrollView
ref={(scrollView) => { this._scrollView = scrollView; }}
onScroll={this.handleScroll}
/>
handleScroll = (event: Object) => {
this.setState({scrollX: event.nativeEvent.contentOffset.x, scrollY: event.nativeEvent.contentOffset.y})
}
然后,您可以使用Scrollto和当前位置移动滚动/-任何您想要的。示例:
moveScroll = () => {
this._scrollView.scrollTo({y: this.state.scrollY + 100});
}
确实可以仔细阅读链接的stackoverflow答案,但要了解OnsCroll工作方式的警告。我也没有检查您是否达到滚动窗口的结尾/开始,请检查您的界限。