2

我想使用 FlatList 选择项目,例如当您在照片库中选择多张照片时(在这种情况下,我使用的是具有 2 行的平面列表,如 2x10 的网格)。我想使用 onLongPress 选择(例如)3 个项目。

像这样的东西,但有 2 行。

在此处输入图像描述

4

1 回答 1

3

那这个呢:

每个渲染的项目都有一个onLongPress, 和一个isPicked属性。

最初,在 中renderItem(),您将实现一个 if 语句,该语句要么呈现,要么在checked square每次empty square执行项目时执行;指示是否选择了项目(基于isPicked)。

onLongPress调用isPicked并重新渲染所有内容(切换方块)。所以如果isPicked是真的就变成假的,如果假的就变成真的。您可以通过简单地执行以下操作来实现:this.item.isPicked = !this.item.isPicked

最后Submit,通过 和欢呼过滤所有初始项目(数据)isPicked === true,您最终将获得被选中的项目!

于 2017-07-27T19:11:54.373 回答