Я хочу добиться, чтобы отмеченные элементы оставались отмеченными при поиске другого в ion-searchbar. Мне удалось сохранить отмеченные элементы, но значок с галочкой не остается отмеченным. Я хочу, чтобы после поиска сохранял весь список продуктов и те, которые были отмечены, чтобы они выглядели понравившимися, отмеченными и не теряли состояние.
Вот как это выглядит:
This is my HTML:
Выбрать продукты близко близко {{food.name}} Упс, еды не найдено.
Это мой ТС
import { Component, OnInit } from "@angular/core";
import { ModalController } from "@ionic/angular";
@Component({
selector: "app-search-modal",
templateUrl: "./search-modal.component.html",
styleUrls: ["./search-modal.component.scss"],
})
export class SearchModalComponent implements OnInit {
showSearch = false;
searchQuery = "";
foods = [
{ name: "Apple" },
{ name: "Cucumber" },
{ name: "Pineapple" },
{ name: "Sugar" },
{ name: "Nuts" },
];
allFoods: Array<{ name: string }> = [];
tickedFoods: Array<{ name: string }> = [];
constructor(private modalCtrl: ModalController) {
this.allFoods = this.foods;
}
ngOnInit() {}
onCloseModal() {
this.modalCtrl.dismiss();
}
onSearchIntolerance(event) {
this.foods = this.allFoods;
this.searchQuery = event.detail.value;
if (this.searchQuery && this.searchQuery.trim() !== "") {
this.foods = this.foods.filter((term) => {
return (
term.name
.toLowerCase()
.indexOf(this.searchQuery.trim().toLowerCase()) > -1
);
});
} else if (this.searchQuery === "") {
this.foods = this.tickedFoods;
}
}
onCheckbox(event) {
if (event.detail.checked === true) {
let tickedFoods = event.detail.value;
this.tickedFoods.push({ name: tickedFoods });
}
}
}