array.filter不返回过滤结果

时间:2019-07-25 12:23:42

标签: angular6

在我的angular 6应用程序中,我正在列表中搜索,因此在HTML中,我有以下代码。

<li *ngFor="let c of listName | search: searchText ; let i = index;" class="advance-list-heading" >
                              <span *ngIf = "i==0" class="test">My List</span>
                              <ul class="advance-list-treeview">
                                <li (click)="SetValue(c.name)">
                              class="row"> -->
                                <span *ngIf="c.name; else noresult">{{c.name}}</span>
                                <!-- </div>  -->
                                </li>
                                </ul>
                          </li>

当我从搜索结果中选择任何值时,我想过滤已经可用的结果。所以我在.ts文件中有以下功能

SetValue(SelectedList:string) {
      this.inputField.nativeElement.value= SelectedList
      this.divVisible = false;
      return this.listName.filter((x: any) => x.name.toLowerCase().startsWith(SelectedList.toLowerCase()))
      // this.ref.detectChanges
      // console.log(this.listName)

    }

但是页面中的退出列表未得到过滤器,任何人都可以在这里帮助我吗?

1 个答案:

答案 0 :(得分:1)

代替

sym

尝试

void utri( int tricount )
{
    int uptri, x;
    char star;
    star = '*';
    for ( uptri = 1; uptri <= tricount; uptri++ )
    {
        rept(uptri, star);
    }
}

编辑:

return this.listName.filter((x: any) => x.name.toLowerCase().startsWith(SelectedList.toLowerCase()))

然后

this.listName = this.listName.filter((x: any) => x.name.toLowerCase().startsWith(SelectedList.toLowerCase()))