Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
List 离子2列表未筛选_List_Angular_Ionic2 - Fatal编程技术网

List 离子2列表未筛选

List 离子2列表未筛选,list,angular,ionic2,List,Angular,Ionic2,我将学习本教程: 这是我的search.html <ion-header> <ion-navbar> <ion-title>search</ion-title> </ion-navbar> <ion-toolbar primary > <ion-searchbar [(ngModel)]="searchTerm" [formControl]="searchCon

我将学习本教程:

这是我的search.html

<ion-header>
    <ion-navbar>
        <ion-title>search</ion-title>
    </ion-navbar>
    <ion-toolbar primary >
        <ion-searchbar [(ngModel)]="searchTerm" [formControl]="searchControl" ></ion-searchbar>
    </ion-toolbar>
</ion-header>

<ion-content padding>
        <ion-list>
            <ion-item *ngFor="let item of items" >
                {{ item.name}}
            </ion-item>
        </ion-list>  
</ion-content>
但问题根本不是在列表中排序。如何解决此问题

我的物品看起来像


[{“name”:“Canada”},{“name”:“Japan”}….]

filter
函数只返回过滤后的数组,而不修改原始数组。您需要这样做:

filteredItems =[];
setFilteredItems()
    {
        if (this.searchTerm) {

            this.filteredItems = this.items.filter(item => {
                 return item.name.toLowerCase().indexOf(this.searchTerm.toLowerCase()) > -1;
            });
        } else {
            this.filteredItems = this.items;
        }
    }
并使用
filteredItems
对模板中的项进行分级

filteredItems =[];
setFilteredItems()
    {
        if (this.searchTerm) {

            this.filteredItems = this.items.filter(item => {
                 return item.name.toLowerCase().indexOf(this.searchTerm.toLowerCase()) > -1;
            });
        } else {
            this.filteredItems = this.items;
        }
    }