如何在带有响应本机的ScrollView中自动滚动?

时间:2019-07-29 17:24:56

标签: react-native expo

我想创建一个自定义的DatePicker,而不使用任何本机选择器。使用moment,我已经成功绘制了几个月的天,并且创建了一个数组,其中的年份介于1900年和当前年份之间。我在每个pagingEnabled上使用了ScrollView,就像选择器效果一样。

现在我要做的是从1900年1月1日滚动到当前日期

我已经在onScroll中使用过ref方法了几天,但似乎无法在仅适用于iOS或Android的网站上使用

https://snack.expo.io/@zoolle/datepicker

知道我在这里想念什么吗?

1 个答案:

答案 0 :(得分:0)

问题在于scrollTo在被调用时不可用,很可能是因为该组件尚未完全呈现。

您可以通过添加一个小的超时来解决它:

ref={scrollView => {
  if (scrollView !== null && this.scrollView !== scrollView) {
    this.scrollView = scrollView;
    setTimeout(() => scrollView.scrollTo({ y: currentDay * 100 }), 100);
  }
}}