Я перебираю массив объектов с *ngFor
и применяю пару каналов, которые фильтруют результирующий список.
Один из каналов использует пользовательский ввод из поля поиска.
Когда пользователь щелкает один из элементов ngFor, объект отправляется функции и добавляется в массив «selection», который будет использоваться позже.
<input type="search" [(ngModel)]="searchInput">
<a *ngFor="let item of items | firstFilter | inputFilter:searchInput; let i = index">
<span (click)="send(item)"> send {{item.name}} </span>
</a>
Я пытаюсь повторить поведение поля поиска (например, Google), где подсвечивается первый результат, и если пользователь нажимает клавишу ввода во время набора текста, это вызовет то же действие, что и нажатие на результат send(item)
. * 1006. *
![enter image description here](https://i.stack.imgur.com/cxIMj.png)
Подсветка достаточно проста с помощью проверки ngClass, если вход не пустой и i === 0.
То, с чем я застрял - это событие нажатия клавиши ввода.
- Как бы я прослушал событие в поле ввода, внутри цикла ngFor и только для первого результата (i === 0)?
- Есть ли способ записи списка объектов (или хотя бы первого
1) после того, как трубы были применены к массиву предметов?
- Как бы вы предложили пойти по этому поводу?