Вам необходимо привязать тег li
к массиву и затем отфильтровать его:
data = ['Forms', 'Charts', 'Buttons', 'Tabs'];
filteredData: any[];
ngOnInit(){
this.filteredData = this.data;
}
В html-представлении:
<ul class="sub-menu" *ngFor="let item of filteredData">
<li><a href="#">{{item}}</a></li>
</ul>
Сейчассобытие пожара каждый раз, когда пользователь вводит данные внутри ввода:
<input type="text" class="form-control pl-0" placeholder="Search" aria-label="Username" aria-describedby="basic-addon1" (change)="filter($event)">
Внутри вашего компонента:
filter($event){
let reg = $event.target.value;
this.filteredData = this.data.filter(x => return x.toLowerCase().indexOf(reg.toLowerCase()) != -1);
}
И список будет автоматически изменяться с новыми отфильтрованными данными.