如果搜索结果为空,如何显示消息?

时间:2020-09-23 10:42:57

标签: angular

现在我有了变量:

serachResult = [];

在temaplte内部检查:

<div *ngIf="serachResult.length == 0">No data</div>

仅当出现搜索响应时,才会填充数组serachResult

问题是消息No data总是显示,如果用户不提出搜索请求,则会显示在这里

2 个答案:

答案 0 :(得分:0)

searchResult初始化为空数组,因此即使在发出搜索请求之前,条件*ngIf="serachResult.length == 0"也会解析为true。这就是即使用户不发出搜索请求也显示No Data的原因。

您可以创建另一个变量isDisplaySearchResult = false,并在用户提出搜索请求后将其设置为true。 您的模板代码将作如下更改-

<div *ngIf="isDisplaySearchResult && serachResult.length == 0">No data</div>

答案 1 :(得分:0)

定义另一个用于显示搜索结果的变量,并将其值设置为false

showResult: boolean = false;

当用户搜索结果可用时,将showResult的值更改为true

然后在您的html中检查showResult是否正确,然后检查serachResult.length;

<div *ngIf="showResult && serachResult.length == 0">No data</div>