离子中的简单搜索栏不过滤

时间:2018-02-04 07:19:19

标签: angular typescript ionic-framework ionic2

基本上,我有一个过滤位置的Web应用程序。我的代码运行没有错误,但为什么不过滤?一直在调试几个小时,但我似乎无法找出错误,请帮助我。

这是我在home.html中的代码

$(document).ready(function(){
    var rowIndex = 0;
    var rows = $(tr);

    function callNext(){
        updateRowIndex();
        rows[rowIndex].insert('<td>'+ 'Your Data' +'</td>');
    }

    function updateRowIndex(){
        rowIndex = (rowIndex + 1) % numberOfRow;
    }
});

这是home.ts中的代码

 <ion-header>
  <ion-navbar>
<ion-title>
  Ionic Blank
  </ion-title>
 </ion-navbar>
 </ion-header>

<ion-content padding>
 <ion-searchbar (ionIput)="getTopics($event)"></ion-searchbar> 

<ion-list>
    <ion-item *ngFor="let topic of topics">
    {{ topic }}
</ion-item>
 </ion-list>
</ion-content>

2 个答案:

答案 0 :(得分:0)

您正在使用比较运算符而不是赋值运算符。 使用此

getTopics(ev: any) {
    this.generateTopics();
    let serVal = ev.target.value;
    if (serVal && serVal.trim() != '') {
      this.topics = this.topics.filter((topic) => { //here you used == instead of =
        return (topic.toLowerCase().indexOf(serVal.toLowerCase()) > -1);
      })
    }
  }

答案 1 :(得分:0)

您需要将结果分配回变量,而不是比较。您也可以将文件管理器简化为

this.topics = this.topics.filter(t=>t.toLowerCase().indexOf(serVal.toLowerCase()) > -1);