如何从 FlatList 中提取 select 项?

How to select item(s) out of a FlatList?

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

类似这样,但有 2 行。

这个怎么样:

呈现的每个项目 都会有一个 onLongPress 和一个 isPicked 属性。

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

onLongPress 调用 isPicked 并重新呈现所有内容(以切换正方形)。因此,如果 isPicked 为真,则变为假,如果为假,则变为真。您只需执行以下操作即可实现:this.item.isPicked = !this.item.isPicked

最后在 Submit 上,通过 isPicked === true 过滤所有初始项目(数据)并欢呼,您最终会得到被选中的项目!