如何将多个FlatList项目发送到ReactNative的另一个屏幕?

时间:2020-07-10 13:47:40

标签: react-native react-native-flatlist

我有此数据,我知道如何使用Flatlist显示数据,但是如何添加多选功能?

用户可以选择多个项目,我如何使用道具将所选项目传递到另一个屏幕?

const goods = [{
        key: 1,
        item: 'Laptops & accessories'
    },
    {
        key: 2,
        item: 'Mobiles & accessories'
    },
    {
        key: 3,
        item: 'Television'
    },
    {
        key: 4,
        item: 'Washing Machine'
    },
    {
        key: 5,
        item: 'Air Conditioners'
    },
    {
        key: 6,
        item: 'Refrigerators'
    },
]

1 个答案:

答案 0 :(得分:0)

您只需按如下所示在列表中添加一个字段即可,如果选择则显示相应的图像,然后显示选中标记图像,否则显示非选中标记图像。

const goods = [{
        key: 1,
        item: 'Laptops & accessories',
    selected: false
    },
    {
        key: 2,
        item: 'Mobiles & accessories',
    selected: false
    },
    {
        key: 3,
        item: 'Television',
    selected: false
    },
    {
        key: 4,
        item: 'Washing Machine',
    selected: false
    },
    {
        key: 5,
        item: 'Air Conditioners',
    selected: false
    },
    {
        key: 6,
        item: 'Refrigerators',
    selected: false
    },
]

,然后在选择任何项目时,将其设为selected = true以用于该特定项目。然后,您可以使用该选项将选中的项目作为道具发送到下一个屏幕

this.props.navigation.navigate('screen2', { item });

要在screen2上检索,请使用以下代码

this.props.navigation.state.params.item;