2016-07-27 36 views
2

私の目標はJSONデータで検索ListViewを作成することです。 これは動作していますが、私は検索機能にごくわずかな問題があります。 単語を入力するときは、まったく同じ単語でなければなりません。これはListViewの配列にあります。 主な問題は、正しい単語を入力する必要があることです。 たとえば、単語stackoverflowが配列の1つの項目である場合は、stackoverflowと入力する必要があります。 しかし、のスタックまたはフローまたはstackoを入力するときにもアイテムを取得したいと思います。React-Native:文字列に文字列が含まれていないか確認してください。

これは私のコードです:

filterDatasource(event) 
    { 
     var searchString = event.nativeEvent.text.toLowerCase(); 
     if (searchString != "") 
     { 

      var content = this.state.loadedContent; 
      var searchResultsArray = []; 

      for (var i = 0; i < content.length; i++) { 


      var detailArray = content[i]; 
      const gattung = detailArray.Gattung; 
      const zugnummer = detailArray.Zugummer; 
      const ab = detailArray.ab; 
      const bis = detailArray.bis; 
      const wochentag = detailArray.Wochentag; 
      const zeitraum = detailArray.Zeitraum; 


      if (searchString.contains(ab.toLowerCase())) //searchString.indexOf(ab) >= 0 
      { 

       //alert('gefunden'); 
       searchResultsArray.push(detailArray); 
       this.setState({ dataSource: ds.cloneWithRows(searchResultsArray) }); 

      } 


      } 

     } 
     else { 

     this.setState({ dataSource: ds.cloneWithRows(this.state.loadedContent) }); 

     } 
    }, 

答えて

3

あなたはこのようのindexOfでこれを行うことができます。

if (searchString.indexOf(ab.toLowerCase()) > -1) 
{ 
    ... 
} 
+0

あなたの助けをありがとうだけでなく、この機能は動作しません。.. –

+0

または実行するためにそれを持っていますforループとは? –

関連する問題