首页 > 解决方案 > 如何在具有本机反应的 ScrollView 中自动滚动?

问题描述

我想在不使用任何本机选择器的情况下创建自定义 DatePicker。使用moment我已经设法渲染天数月,并且我创建了一个年数介于 1900 年和当前年之间的数组。使用我创建pagingEnabled的每个选择器效果。ScrollView

现在我想做的是从 1/Jan/1900 滚动到当前日期

我已经用几天的onScroll方法ref进行测试,但似乎不适用于 iOS 或仅限 Android 的 Web

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

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

标签: react-nativeexpo

解决方案


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

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

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

推荐阅读