0

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

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

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

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

通常,解决此类要求的最佳方法是什么?

谢谢!

4

1 回答 1

0

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

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

有关更多详细信息,请参阅此链接

于 2017-07-06T07:44:35.403 回答