当我在搜索栏上输入A时,它会给出结果集1 当我在搜索栏上键入Ap时,它会给出结果集2
当我输入A,Ap,然后退格到搜索栏上的A时,它会给出结果集2而不是结果集1
以下是我在javascript上的过滤方法。你能告诉我我该怎么办?
工作:
filter(text){
this.setState({ keywords: text })
const newData = this.state.results.filter(function(item){
const itemData = item.fruit_name.toUpperCase()
const textData = text.toUpperCase()
return itemData.indexOf(textData) > -1
})
if(text){
this.setState({
results: newData,
text: text
})
}else{
this.setState({
results: this.state.oldresults,
text: text
})
}
}
数据列表UI:来自react-native的FlatList,来自NativeBase的ListItem
<FlatList
extraData={this.state}
data={this.state.results}
keyExtractor={(item, index) => item.id}
renderItem={( {item} ) => {
return <ListItem>
<Text>{item.fruit_name}</Text>
</ListItem>
数据来源:
https://reactnativecode.000webhostapp.com/FruitsList.php