当前位置: 首页 > 知识库问答 >
问题:

如果搜索过滤器为空,则显示一条消息

袁宜民
2023-03-14

在 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吗?如果没有找到搜索,则显示一条消息?

共有1个答案

盖锦程
2023-03-14

在管道中,如果结果为空,您可以返回 -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>
 类似资料:
  • 我目前正在为我的电视节目网络应用程序创建一个实时搜索的过程中。一切都很好。不过,我希望的是,如果筛选的搜索为空,则不显示 我当前的实现不工作。 匿名用户 你可以做 但是这有一个性能问题(多次使用过滤器)。看看如何显示过滤的ng-repeat数据的长度

  • 如果值为空,则需要在单元格中显示一个不间断的空格。这是我的模板: 我试过这个,但不管用: 它返回值的问题是: 如果许可证号带有值,则单元格为空,行颜色如下所示。 利用卢库马的建议,它表明了这一点: 更改筛选器中的if语句后,仍然不显示非值:

  • 问题内容: 以下AngularJS应用程序正在使用ng-repeat和已应用的过滤器。某个应用的过滤器不会留下任何值。如何显示通知? js小提琴 的HTML AngularJS 问题答案: 我认为这是您想要的: 链接 这是另一个FIDDLE LINK,请检查此

  • 代码看起来很好,但是总是bst没有值并且总是显示为空,并且root是null!!!

  • 我已经花了很多时间弄清楚为什么我的搜索在我定制的模板中不起作用。到目前为止,我已经知道了如何包含searchform。php文件在我的头,创建搜索。php文件目前是空的(因此,当我搜索某个内容时,我会被重定向到一个空白页面,我想我肯定需要search.php文件中的某些内容才能使其正常工作),我阅读了Wordpress codex的所有内容,但找不到解决方案,我找到的唯一有用信息是这个。 http

  • 问题内容: 每当我在应用程序中搜索时,都会显示正确的结果,但是当我点击搜索的单元格时,在执行搜索之前,它始终会播放表格的第一个索引。我试图在我的didselectcell中使用isSearching Bool,但似乎无法正常工作。 问题答案: 我认为问题在于您正在跟踪自己是否在搜索和操作源数据数组。 我有一个示例游乐场代码段,我已将其用于其他一些答案,该示例向您展示了如何更有效地执行此操作,并提供