Я хотел создать панель поиска с помощью c firebase, используя angular. Но со мной это не сработало, так как когда я набираю в строке поиска, звучит так, будто функция filterList не вызывается, или я не знаю, в чем конкретно проблема
export class Tab1Page implements OnInit{
public grantsList: any[];
public loadedGrantsList: any[];
constructor(private dataService: DataService, public afdm: AngularFireDatabase ) {
}
ngOnInit(){
this.afdm.list('/grant').valueChanges().subscribe(grantsList => {
this.grantsList = grantsList;
this.loadedGrantsList = grantsList;
//console.log(this.grantsList)
});
}
initializeItems(): void {
this.grantsList = this.loadedGrantsList;
}
filterList(evt) {
this.initializeItems();
const searchTerm = evt.srcElement.value;
if (!searchTerm) {
return;
}
this.grantsList = this.grantsList.filter(currentGoal => {
if (currentGoal.title && searchTerm) {
if (currentGoal.title.toLowerCase().indexOf(searchTerm.toLowerCase()) > -1) {
return true;
}
return false;
}
});
}
}
, вот мое мнение
<ion-header>
<ion-toolbar color="primary">
<ion-title>
Home
</ion-title>
</ion-toolbar>
</ion-header>
<ion-content>
<ion-searchbar
showcancelbutton=""
(ioninput)="filterList($event)"
></ion-searchbar>
<ion-list>
<ion-item button *ngFor="let data of grantsList">
<ion-label class="ion-text-wrap">
<h3>{{data.title}}</h3>
<p>Type: {{data.Category}}</p>
<p>Deadline: {{data.Deadline}}</p>
</ion-label>
</ion-item>
</ion-list>
</ion-content>
я хочу отфильтровать список панели поиска по заголовку