反应原生搜索栏问题

时间:2018-02-27 06:05:40

标签: react-native native-base

当我在搜索栏上输入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

0 个答案:

没有答案