1

当用户已经在屏幕上点击底部导航栏上的选项卡时,我想让用户回到屏幕顶部。任何人都知道我可以如何使用 react-native-navigation 做到这一点?

4

1 回答 1

1

弄清楚了。

将此添加到您要向上滚动的页面。

 constructor(props) {
    super(props);
    this.props.navigator.setOnNavigatorEvent(this.onNavigatorEvent.bind(this));
  }

如果您想了解有关设置导航器事件的更多信息,那么您可以查看:

https://wix.github.io/react-native-navigation/#/screen-api?id=listening-to-tab-selected-events

然后添加这个函数:

onNavigatorEvent(event) {
    if (event.id === 'bottomTabSelected') {
      console.log('Tab selected!');
    }
    if (event.id === 'bottomTabReselected') {
      console.log('Tab reselected!');
      this.refs._scrollView.scrollTo({x: 0, y: 0, animated: true});
    }
  }

并将其添加到您的 ScrollView:

ref='_scrollView'

多亏了这个:

https://github.com/wix/react-native-navigation/issues/1719

于 2018-07-03T16:16:09.867 回答