Я использую React Native (0.29.0) на Android и имею компонент ListView на своей странице. Я хочу, чтобы удалять элементы из списка. Я довольно новичок в реагировании.React native: Удаление нужного элемента из ListVIew
Здесь 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, опять же, он говорит, что ключ " undefined "
Мне трудно определить, какая строка должна быть удалена из метода deleteItem. Будет очень полезно, если кто-то может вести меня по правильному пути, спасибо заранее.
Благодарю вас так много, он исправил мою проблему, я не знал, что мне нужно было создать метод, используя() =>, чтобы передать аргументы. – Ajith
Нет проблем, да, вам нужно это сделать. Потому что иначе метод deleteItem не будет вызываться с любыми аргументами. OnPress принадлежит вашему компоненту- , который не имеет ничего общего с списком. –
Jakkra