Native Base如何获取List dataArray的ListItem索引?

时间:2018-11-16 06:52:51

标签: javascript reactjs react-native native-base

我想访问通过dataArray生成的多数民众赞成的索引。 例如:

<List dataArray={this.props.groceries} renderRow={(groceryListItem, index) =>
    <ListItem>  
        <Text>{index}</Text>
    </ListItem>
    }
>
</List>

但是,这不起作用。如何访问此动态索引? 谢谢!

3 个答案:

答案 0 :(得分:2)

什么是列表,它是ListView? İf它是您可以获得索引3。prop

<ListView 
renderRow={(rowData, sectionID, index) => // you can get the index from 3.
...

答案 1 :(得分:0)

React Native FlatList与您的List组件具有相似的结构,由于效率高,反应本机社区强烈建议使用FlatList,因为可以访问index渲染项目容易。这是您想要的简单用法:

render() {
  return (
    <FlatList
      data={[
        {title: "title1"},
        {title: "title2"},
        {title: "title3"},
        {title: "title4"},
        {title: "title5"},
        {title: "title6"},
        {title: "title7"},
        {title: "title8"},
      ]}
      renderItem={(item) => <Text>{item.index}</Text>}
      keyExtractor={(item, index) => index.toString()}/>
  );
}
item中的

renderItem参数具有两个重要属性。

  1. index:要呈现的项目的索引
  2. data:在此示例中,您提供给平面列表的数据是传递给flatList的data项的数组对象之一,例如{title: "title1"}我没有在renderItem方法中使用此数据。您可以像这样data={this.props.groceries}

答案 2 :(得分:0)

我正在使用以下内容:

<List dataArray={this.props.groceries} renderItem={({item, index}) =>
    <ListItem key={index}>  
        <Text>{item}</Text>
    </ListItem>
    }
>
</List>