如果有条件显示,则FlatList ScrollToIndex在Android上不起作用

时间:2019-02-06 15:49:50

标签: android react-native react-native-flatlist

我之前多次使用 Flatlist scrollToIndex,但是我正在开发自定义日历,并且遇到了以下破坏该方法的用例:

日历具有2种模式:

日期选择:基本上只是可​​触摸的日期矩阵可供选择。
年份选择:可滚动的 FlatList ,其中包含可供选择的年份。

在给定时间只显示其中之一。
一切正常,除了我在Android中切换模式后将滚动位置返回到选定的年份(在iOS中按预期工作,您可以查看下面的小吃示例)。

这是一个小代码段,显示了我如何管理滚动更新。

componentDidUpdate(_, prevState) {
  if (prevState.mode === TEXT_MODE && this.state.mode === LIST_MODE) {
    console.log(`updated scroll to index ${this.state.selectedItem}`);
    this.itemsScroll.current.scrollToIndex({
      animated: false,
      index: this.state.selectedItem,
      viewPosition: 0.5,
      viewOffset: 0,
    });
  }
}

HERE 是说明该错误的最小工作示例。

注意: RN版本为0.57.1​​。除非修改列表的可见性,否则不会发生错误。

0 个答案:

没有答案