Используя ngIf
, скрыть список, когда модель пуста. При условии model.length
список отображается только в том случае, если модель имеет хотя бы 1 символ. В этот момент включается конвейер фильтра и отображаются отфильтрованные результаты.
<ul *ngIf="model && model.length">
<li *ngFor="let option of options | filter: model">
<button (click)="handleClick(option)">{{option}}</button>
</li>
</ul>
handleClick(option) {
this.model = option;
}
Поскольку model
является строкой, а length является свойством, которое возвращает число, мы можем утверждать, что model.length
является истинным значением, когда оно больше нуля. В противном случае, если длина равна нулю, это ложное значение.
И чтобы решить проблему неопределенности модели, вы можете инициализировать ее пустой строкой или рассмотреть возможность расширения условной проверки до model && model.length
.