Я использую окно поиска ionic 2 для поиска данных в моем списке. Мой вопрос заключается в том, как consol.log мои данные в этом окне поиска, когда я нажимаю на поисковый ион в том, что присутствует на панели поиска.
или есть ли какой-либо другой метод для фильтрации данных, таких как seachbox uning ion-input, и consol.log данных, когда я нажимаю на значок поиска
это мой ts файл
import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
@Component({
templateUrl: 'home.html',
})
export class HomePage {
private searchQuery: string = '';
private items: string[];
listitme:string= '' ;
constructor(private navCtrl: NavController) {
this.initializeItems();
}
initializeItems() {
this.items = [
'Harvey Burton',
'Barnett Crosby',
'Peck Brock',
'Rachel Robinson',
'Suzette Frazier',
'Bettie Maddox',
'Haley Bates',
'Tania Chandler',
'Woods Nicholson'
]
}
getItems(ev: any) {
this.initializeItems();
let val = ev.target.value;
if (val && val.trim() != '') {
this.items = this.items.filter((item) => {
return (item.toLowerCase().indexOf(val.toLowerCase()) > -1);
})
}
}
setitem(item){
this.listitme = item;
}
}
это мой HTML
<ion-header>
<ion-navbar>
<ion-title>search</ion-title>
</ion-navbar>
<ion-toolbar primary >
<ion-searchbar (ionInput)="getItems($event)" [(ngModel)]="listitme" ></ion-searchbar>
</ion-toolbar>
</ion-header>
<ion-content padding>
<ion-list>
<ion-item *ngFor="let item of items">
<div (click)=setitem(item) >
{{ item }}
</div>
</ion-item>
</ion-list>
</ion-content>
ionInput
на панели поиска, поэтому результаты фильтруются каждый раз, когда вы что-то вводите в него. Вы можете использовать ввод и кнопку, чтобы что-то делать, когда пользователь нажимает кнопку, но в этом случае поведение будет другим (элементы будут фильтроваться только при нажатии на кнопку). Это нормально в контексте вашего приложения? Я могу создать демонстрацию, если это ожидаемый ответ на ваш вопрос. - person sebaferreras   schedule 23.12.2016