角2のデータを持つ配列をtypescriptでフィルター処理する方法を検討しています。フィルタリングはIonic 2の検索バー用です。テンプレートのリストがデータを取得して表示されますが、フィルタリングは機能しません。角度2の文字コードで配列をフィルターにかける
initializeItems(i:number) {
this.http.get('https://maps.googleapis.com/maps/api/place/details/json?placeid='+this.placeid+'&key=AIzaSyBPi-ayuvkTht4wddCcvcy0l2wIBdT9P2w').map(res => res.json()).subscribe(data => {
this.locations[i]._detail = data.result;
this.names.push([
{
name: this.locations[i]._detail.name,
adress: this.locations[i]._detail.formatted_address,
phone: this.locations[i]._detail.formatted_phone_number
}
]);
this.items = this.names;
console.log(this.items);
});
}
getItems(ev) {
this.items = this.names;
console.log(this.items);
// set val to the value of the ev target
var val = ev.target.value;
// if the value is an empty string don't filter the items
if (val && val.trim() != '') {
this.items = this.items.filter((item) => {
return (item.name.toLowerCase().indexOf(val.toLowerCase()) > -1);
})
}
}
私はこのエラーを取得する検索バーに入力します。
ユーザitem.name'は、文字列を指す 'と仮定されています。あなたはどうしているのですか? – Leon
item.nameは文字列ですが、フィルタにアクセスする方法はありませんか? – Mohammed
'val'を' let'で宣言できますか?つまり 'let val = ev.target.value; ' – AngularChef