私は私のlist.ts
ファイルにこのコードを使用してアレイ複数のオブジェクトの配列をフィルタリングすることができない - IONIC 2
this.items = [
'Amsterdam',
'Bogota',
'India'
];
下にフィルタリングすることができる午前:
if (val && val.trim() != '') {
this.items = this.items.filter((item) => {
return (item.toLowerCase().indexOf(val.toLowerCase()) > -1);
})
}
が要件 - 私はデータを取得しています複数の結果を持つ配列を返すjsonから、以下に示すhtmlとconsoleのイメージ。問題は、私はこのフィルタはどうすればよいです -
私は以下のコード使用してJSONからデータをフェッチしています:私はthis.list
をフィルタリングする
this._listProduct.listProduct().subscribe(data => {
this.list = data;
console.log(data);
を、どのように
画像をガイドしてください。 list.html
およびconsole.log
あなたの参照のためlist.html
コード:
UPDATE 1: 私はコードの下に使用してみましたが、それは私にエラーを与えている - list.toLowerCase is not a function
コード試してみました -
if (val && val.trim() != '') {
this.list = this.list.filter((list) => {
return (list.toLowerCase().indexOf(val.toLowerCase()) > -1);
})
}
何をフィルタしますか?あなたは応答のオブジェクトの配列を持っていて、同じものをHTMLで繰り返します。ほかに何が欲しい? –
検索ボックスに入力するときに、この配列全体をフィルタリングしたいときは、一致する行のみが表示され、すべてのオブジェクトから検索したい – user2828442
まず、同じ変数リストを使用してリストを参照していますオブジェクトのリスト、およびオブジェクトのリストの中の要素に適用されます。それがリストに含まれている場合、 'product'のようなより良い名前を選んでください。あなたはリストの要素についてLowerCase()を呼び出しています。しかし、リストには文字列が含まれておらず、オブジェクトも含まれています。それは意味をなさない。フィルタリングする製品のプロパティ(名前)を決定する必要があります。カテゴリー? –