2017-06-13 106 views
0

在Angular 4中,我試圖迭代一個程序數組。並且還添加了搜索管道。如果沒有找到搜索,我想顯示一條消息。搜索過濾器如果爲空顯示一條消息

我該如何解決這個問題?

這裏是ngFor

<div class="col-sm-6 col-md-4" *ngFor="let programme of programmes | search: searchText"> 
    <programme [programme]="programme"></programme> 
    </div> 

我明白,我無法使用ngIf和ngFor在一起。有什麼方法可以使用ngIfElse?如果沒有搜索到,然後顯示一條消息?

回答

2

在你管,如果結果是空的,你可以返回-1或一些價值

transform(value, searchTerm) { 
    let result = ... 
    if(result.length === 0) { 
     return [-1]; 
    } 
    return result; 
    } 

在你的HTML代碼,你可以不喜歡

<ng-container class="col-sm-6 col-md-4" *ngFor="let programme of programmes | search: searchText"> 
    <div *ngIf="item === -1">"No matches"</div> 
    <div *ngIf="item !== -1"><programme [programme]="programme"></programme></div> 
</ng-container> 
相關問題