SectionList - 按部分按下动画

时间:2017-07-05 18:50:50

标签: react-native react-native-flatlist

我们被要求为我们的应用实现一个屏幕,其中会有一些列表形式的数据和每个数据类别的部分。按下Section标题时,应展开或折叠节数据。

起初,我尝试使用Listview,每次按下标题时我都会更改数据源,但是这不是正确的做法。

创建自定义视图,动画视图的高度可以正常工作,但由于数据量很大,初始渲染有点慢,例如导航到屏幕时会有明显的延迟。

升级到RN 44.3后,我想知道我是否能以比listview更好的方式使用Sectionlist。

一般来说,接近这样的要求的最佳方式是什么?

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以为flatlist / SectionList中的项目设置动画。一个简单的代码将如下所示(动画删除项目)。您也可以对部分列表使用相同的逻辑。

onRemove = () => {
  const { onRemove } = this.props;
  if (onRemove) {
    Animated.timing(this._animated, {
      toValue: 0,
      duration: ANIMATION_DURATION,
    }).start(() => onRemove());
  }
};

有关详细信息,请参阅此link