angular - 在 Angular2 中,您如何检测过滤器/管道未返回任何结果

标签 angular

我想在过滤器返回空数组时显示一条消息,例如“没有找到结果”

这是我的带有过滤器的 ngFor 列表

 <li class="col-xs-12" *ngFor="let item of jobs | jobsFilter: [originalJobList, region, county, type]"></li>

<p>No results found</p>

如果没有过滤器很容易,但是因为有过滤器我不知道怎么说过滤器没有返回结果。

这是我的过滤器:

import { Pipe } from "@angular/core";

@Pipe({
  name: 'jobsFilter',
  pure: true
})

export class JobsFilter {
   transform(items: any, [originalList, region, county, type]: any) {
      //Filter options:
        var overallResults = originalList;
        var filterByRegion = false;
        var filterByCounty = false;
        var filterByType = false;

        if (region !== "Filter by Region") filterByRegion = true;

        if (county !== "Filter by County") filterByCounty = true;

        if (type !== "Filter by Type") filterByType = true;

        if (filterByType) overallResults = overallResults.filter(item => item.type === type);

        if (filterByRegion) overallResults = overallResults.filter(item => item.region === region);

        if (filterByCounty) overallResults = overallResults.filter(item => item.county === county);

        return overallResults;
  }
}

This all works but I just need to show the users that there filter return no results with a message rather than empty screen.

最佳答案

阅读以下帖子:

https://netbasal.com/using-pipe-results-in-angular-templates-430683fa2213

片段:

<ng-container *ngIf=”(items | filter:search.value) as result”>

  <div *ngFor=”let item of result”>
    {{item}}
  </div>

  <p>Count: <b>{{result.length}}</b></p>

</ng-container>

关于angular - 在 Angular2 中,您如何检测过滤器/管道未返回任何结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40564312/

相关文章:

angular - 是否有任何选项可以在 Angular 2-5 中命名模块文件夹路径?

javascript - 禁用滚动但保持栏可见

html - Angular - 使用带 ngModel 的日期管道

javascript - 如何使用 Angular5 声明服务

angular - 没有 ngControl [FormControl] Angular 6 的提供者

angular - 什么是 angular 2 typescript 和 angular2 ecmascript

angular - 有没有办法根据另一个属性(TypeScript)的值来更改接口(interface)属性是否可选?

javascript - Angular 发出多个 http 请求,但在发出新请求之前等待每个请求完成

angular - 以 Angular 2 打印路线树

angular - 如何在 Angular 2 中的模块之间共享组件?