Reputation: 91
I want to show al my items inside a searchbar, i did looked up on internet but nothing works, im not gettting any error, but im not getting any item to show in my content. Here a leave my html and ts files. Variables are in spanish, sorry for that
<ion-header>
<ion-toolbar color="danger">
<ion-buttons start
[navPush]="home">
<button ion-button icon-only color="white">
<ion-icon name="ios-arrow-back"></ion-icon> Inicio
</button>
</ion-buttons>
<ion-buttons end>
<button ion-button
clear color="white"
[navPush]="listaTerminada">LISTO</button>
</ion-buttons>
</ion-toolbar>
</ion-header>
<ion-content padding class="backgroundd">
<ion-searchbar (ionInput)="getItems($event)">
<ion-list>
<ion-item *ngFor="let articulo of listaProductos">{{articulo.nombre}}</ion-item>
</ion-list>
</ion-searchbar>
</ion-content>
import {Component, OnInit} from '@angular/core';
import { NavParams } from 'ionic-angular';
import {HomePage} from "../home/home";
import {ListaTerminadaPage} from "../lista-terminada/lista-terminada";
import {Articulo} from "../../Data/articulo.interface";
@Component({
selector: 'page-elegiritems',
templateUrl: 'elegiritems.html',
})
export class ElegiritemsPage implements OnInit{
home=HomePage;
listaTerminada=ListaTerminadaPage;
listaProductos :Articulo[]=[];
constructor(public navParams: NavParams) {
}
ngOnInit(){
this.listaProductos = this.navParams.data;
}
getItems(ev:any){
this.listaProductos = this.navParams.data;
let val = ev.target.value;
if (val && val.trim() != ''){
this.listaProductos = this.listaProductos.filter((item: any) => {
return (item.nombre.toLowerCase().indexOf(val.toLowerCase()) > -1);
})
}
}
}
Upvotes: 1
Views: 159
Reputation: 1114
A possible issue is that you have your ion-list
inside of your ion-searchbar
if you move the list to below the searchbar does anything show up? Also is the array being populated just not the list or is the array not being populated either?
Upvotes: 2