установить метку, только если элементы поиска находятся в массиве - angular 2 - PullRequest
0 голосов
/ 06 апреля 2020

Я довольно новичок в angular, и в настоящее время я пытаюсь создать поиск, который возвращает элемент, если он соответствует входным данным. Мне удалось заставить функцию поиска работать, однако я хочу напечатать «термин» ТОЛЬКО, если он отфильтровал отображаемые элементы. Так вот мой код:

<section id="search" class="container">
  <div class="form-group fg--search">
    <input type="text" [(ngModel)]="query" class="input" placeholder="Search on site">
    <button type="submit"><i class="material-icons search">search</i></button>
    <div class="search-results">
      <div class="search-category-box" *ngFor="let searchCategory of searchItems" >
        <label *ngIf="searchCategory.items.length"> {{searchCategory.name}} </label>
        <div *ngFor="let searchItem of searchCategory.items | search:'name,description':query">
          <p class="item">{{searchItem.name}}</p>
        </div>
      </div>
    </div>
  </div>
</section>

<label *ngIf="searchCategory.items.length"> {{searchCategory.name}} </label> Должен быть напечатан, только если l oop с поисковой трубкой возвращает какие-либо элементы, связанные с searchCategory.

Я полностью осознаю, что .length не работает в моем текущем коде, так как массив всегда будет содержать элементы, даже если они отфильтрованы или нет.

Как мне решить эту проблему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...