【发布时间】:2016-07-14 01:55:16
【问题描述】:
我在 Android 上使用 React Native (0.29.0) 并在我的页面上有一个 ListView 组件。我希望能够从列表中删除项目。我是 react-native 的新手。
这是 ListView 组件:
<ListView
key = {items} //An array of strings(same as the datasource)
dataSource = {this.state.datasource}
renderRow = {(rowData, sectionID, rowID) => <Item data={rowData} onPress={this.deleteItem}/>}
/>
删除项目的方法如下:
deleteItem(rowData, sectionID, rowID)
{
//items.splice(rowID ,1);
this.setState({datasource: ds.cloneWithRows(items)});
}
尝试使用 rowID 删除项目,它从列表中删除第一个元素并重新呈现列表。 使用 console.warn 检查 rowID 中的内容,说它是“未定义的”。
我在网上阅读了几个类似的问题,他们说我需要使用密钥,我不完全确定如何使用密钥。尝试将密钥传递给 deleteItem 方法,再次,它说密钥“未定义” "
我发现很难确定需要从 deleteItem 方法中删除哪一行。如果有人能引导我走上正确的道路,这将非常有帮助,在此先感谢。
【问题讨论】:
标签: listview react-native