5

我已经在简单屏幕的底部添加了按钮,并且每当我按下按钮时我都想滚动顶部。什么代码添加到按钮 onPress?,请提出任何解决方案,提前谢谢。

4

3 回答 3

24

我假设您在页面上使用 ScrollView,因为您希望在底部按下按钮时滚动到顶部。在这种情况下,您可以scrollTo({x: 0, y: 0, animated: true})使用ScrollView. 您可以在 render 方法之前调用一个函数,如下所示:

goToTop = () => {
   this.scroll.scrollTo({x: 0, y: 0, animated: true});
}
render() {
 return (
  <ScrollView
    ref={(c) => {this.scroll = c}}
  >
    // [rest of your code here...]
    <Button title='Go To Top' onPress={this.goToTop} />
  </ScrollView>
 )
}

基本上,你必须为ref你的scrollView创建一个reference(),然后你可以在你的代码中的任何地方调用它的方法。

如果您不使用 ScrollView,而是使用 Flatlist 组件,它还有一个通过其refs 公开的方法,称为 scrollToOffset()。

于 2018-02-06T13:39:08.580 回答
2

在 React Native 的功能组件中,需要做以下事情才能在 ScrollView 中滚动 Top-

1.在功能组件中全局定义:- const scroll = React.createRef();

  1. 然后,在 ScrollView 中添加 :- ref={scroll}。

3.最后,点击添加:-scroll.current.scrollTo(0); // 将滚动到 y 位置 0 的顶部

于 2019-12-03T11:12:45.183 回答
0

// 常量滚动 = React.createRef();

如果你得到 scroll.current 为 Null 的错误,那么试试这个

常量滚动 = React.useRef();

这在我的案例中有效。

于 2021-11-08T16:55:17.253 回答