Ich benutze React Native (0.29.0) auf Android und eine ListView-Komponente auf meiner Seite. Ich möchte in der Lage sein, Elemente aus der Liste zu entfernen.Ich bin ziemlich neu zu reagieren native. HierReact native: Löschen des richtigen Elements aus ListView.
ist die Listview-Komponente:
<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}/>}
/>
Hier ist die Methode, um ein Element zu löschen:
deleteItem(rowData, sectionID, rowID)
{
//items.splice(rowID ,1);
this.setState({datasource: ds.cloneWithRows(items)});
}
Versuchte rowID mit einem Element zu löschen, löscht er das erste Element aus der Liste aus und Die Liste wird erneut gerendert. Verwendet console.warn, um zu überprüfen, was in rowID war, sagt es ist "undefined".
Ich lese mehrere ähnliche Fragen online und sie sagten, dass ich einen Schlüssel verwenden muss, ich bin mir nicht ganz sicher, wie man einen Schlüssel verwendet.Tried Übergabe der Schlüssel an die deleteItem Methode, wieder sagt es Schlüssel " undefined "
Ich finde es schwierig zu identifizieren, welche Zeile aus der DeleteItem-Methode gelöscht werden muss. Es wird wirklich hilfreich sein, wenn jemand mich auf dem richtigen Weg führen kann, Vielen Dank im Voraus.
Thank you so viel, Es behebt mein Problem, ich wusste nicht, dass ich eine Methode mit() => erstellen musste, um Argumente zu übergeben. – Ajith
Kein Problem, ja Sie müssen das tun. Weil ansonsten deleteItem-Methode nicht mit irgendwelchen Argumenten aufgerufen würde. Die onPress gehört zu Ihrer- Komponente, die nichts mit der Listenansicht zu tun hat. –
Jakkra