【发布时间】:2018-02-27 06:05:39
【问题描述】:
当我在 search Bar 上输入 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
【问题讨论】: