如何从 FlatList 中选择项目?

IT技术 javascript reactjs react-native react-native-flatlist
2021-04-30 10:59:21

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

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

在此处输入图片说明

1个回答

那这个呢:

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

最初,和renderItem(),你会实现一个if语句,要么使checked squareempty square每次项目执行执行; 指示该项目是否被选中(基于isPicked)。

onLongPress调用isPicked并重新渲染所有内容(以切换方块)。所以如果isPicked是真的就变成假的,如果假的就变成真的。你可以通过简单地做到这一点:this.item.isPicked = !this.item.isPicked

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