scrolltoTop无法在Animated.scrollView中工作

时间:2017-03-23 05:08:33

标签: react-native

它可以正常使用ScrollView但不能使用Animated.ScrollView " undefined不是函数"



<Animated.ScrollView scrollEventThrottle={1} ref="_scrollView">
    {content}
</Animated.ScrollView>
            
<Button title='Button' onPress={() => { this.refs._scrollView.scrollTo(0); }}/>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:3)

尝试此操作以获取ref组件的实际Animated.ScrollView

this.refs._scrollView.getNode().scrollTo({x: 0, y: 0})

更新:使用getNode()而不是直接访问_component,因为它应被视为内部字段。

答案 1 :(得分:-1)

scrollTo()接受并反对作为参数,其中object包含:{x:<number>, y:<number>, animated:<boolean>}

您还必须确保确实已设置参考。这可能是您获得未定义不是函数的原因。

所以,为了滚动顶部,我会这样做:

onPress={() => {
  if (this.refs._scrollView) {
    this.refs._scrollView.scrollTo({x:0, y:0});
  }
}}