angular 中未找到搜索结果时如何隐藏某些内容
How to hide something when no search result found in angular
在我的主页上有一个搜索栏和一个用户最喜欢的卡片列表。仅当初始浏览器加载时没有最喜欢的卡片,并且当用户删除所有他们最喜欢的卡片时,它才会显示横幅“添加最喜欢的...”。
我现在遇到的问题是当我在 search-bar 上搜索内容时显示横幅,但没有找到收藏的卡片。我该如何解决?如果找不到搜索结果,我不想显示我的横幅。
如果我改为 favorites.size == 0,那么当浏览器加载或用户移除所有卡片时,横幅根本不会显示。
<div class="input">
<form class="search-form">
<input #searchValue id="input-field" class="input-field" type="search"
name="insightSearchFilter" (ngModelChange)="filterChanged($event)" [formControl]="inputCtrl"/>
<p class="hint" *ngIf="inputCtrl.value">
<strong> {{ favorites?.length }} Search Result for </strong><em>"{{ inputCtrl?.value }}".</em>
<strong> The Results listed below are exact matches for your query.</strong>
</p>
</form>
</div>
<div *ngIf="favorites">
<div *ngIf="favorites.length > 0">
<app-card-list [cards]="favorites"></app-card-list>
</div>
<div *ngIf="favorites.length == 0" class="empty-faves-container">
<div class="add-faves-container">
<div class="add-faves-ico"></div>
<div class="text">Add a Favorite</div>
</div>
</div>
</div>
因为您在 filterChanged 方法中过滤 this.favorites。您还应该对搜索文本进行检查以及长度检查。
喜欢
(favorites.length == 0 && !(inputCtrl.value))
在我的主页上有一个搜索栏和一个用户最喜欢的卡片列表。仅当初始浏览器加载时没有最喜欢的卡片,并且当用户删除所有他们最喜欢的卡片时,它才会显示横幅“添加最喜欢的...”。
我现在遇到的问题是当我在 search-bar 上搜索内容时显示横幅,但没有找到收藏的卡片。我该如何解决?如果找不到搜索结果,我不想显示我的横幅。
如果我改为 favorites.size == 0,那么当浏览器加载或用户移除所有卡片时,横幅根本不会显示。
<div class="input">
<form class="search-form">
<input #searchValue id="input-field" class="input-field" type="search"
name="insightSearchFilter" (ngModelChange)="filterChanged($event)" [formControl]="inputCtrl"/>
<p class="hint" *ngIf="inputCtrl.value">
<strong> {{ favorites?.length }} Search Result for </strong><em>"{{ inputCtrl?.value }}".</em>
<strong> The Results listed below are exact matches for your query.</strong>
</p>
</form>
</div>
<div *ngIf="favorites">
<div *ngIf="favorites.length > 0">
<app-card-list [cards]="favorites"></app-card-list>
</div>
<div *ngIf="favorites.length == 0" class="empty-faves-container">
<div class="add-faves-container">
<div class="add-faves-ico"></div>
<div class="text">Add a Favorite</div>
</div>
</div>
</div>
因为您在 filterChanged 方法中过滤 this.favorites。您还应该对搜索文本进行检查以及长度检查。 喜欢
(favorites.length == 0 && !(inputCtrl.value))