反应本机scrollview scroll无法与切换内容一起正常使用

时间:2019-09-26 22:57:32

标签: javascript react-native expo

我正在构建一个应用程序,该应用程序在屏幕上垂直排列有6个不同的标签。 通过单击选项卡将切换其内容。

我正在制作一个适合所有这些大内容的滚动视图。通过单击选项卡,屏幕将自动滚动到选项卡位置,因此可以显示内容,而无需用户自行向下滚动。

enter image description here

我的逻辑是单击该选项卡时,从此TouchableOpacity选项卡触发事件,该事件包含该选项卡在屏幕上的位置(将其称为pageY)。然后执行setState,使toggle = true,并进行setState回调,说明如果toggle = true,则滚动到pageY +屏幕的当前位置

 <TouchableOpacity
  onPress={evt => {
    let { pageY } = evt.nativeEvent;
    this.setState(
      {
        eToggle: !this.state.eToggle,
      },
      () => {
        if (this.state.eToggle) {
          this.scrollView.scrollTo({
            y: this.scrollY + pageY,
            animated: true,
          });
        } else {
          this.scrollView.scrollTo({
            y: 0,
            animated: true,
          });
        }
      }
    );
  }}>
  <Text style={{ color: 'black', fontSize: 24 }}>E Tab</Text>
</TouchableOpacity>

我遇到了滚动无法正常工作的问题 单击选项卡时,屏幕不会滚动到该位置;它只向下滚动一点。

好像有什么东西阻碍了屏幕的滚动。

https://snack.expo.io/@rex_rau/scrollview

谢谢

0 个答案:

没有答案