2016-07-27 1209 views
2

我的目標是創建帶有JSON數據的搜索ListView。 這是工作,但我有一個與搜索功能的小問題。 當我輸入一個單詞時,它必須是完全相同的單詞,它在ListView的數組中。 主要問題是我必須輸入正確的單詞。 例如:當字stackoverflow是數組的一項,我必須鍵入stackoverflow來找到此項目。 但我想要得到的項目也當我輸入堆棧堆棧例如。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

還是有它做的事與循環? –

相關問題