2016-05-20 9 views
1

VirtualScrollに使用したいフィルター(パイプ)があります。ionic2のvirtualScrollでパイプ(フィルター)を使用する方法

<ion-item *ngFor="#item of items | myPipe : criteria">....</ion-item>

それは同様<ion-item *virtualItem="#item" > ...</ion-item>とのパイプを使用することが可能である:私はVirtualScrollを使用する前に、私は式を使用してion-itemにforループの正常を持っていましたか?または、代わりにコントローラーのリストでパイプを実行する必要がありますか?私の代わりにコントローラにパイプを使用して終了

答えて

2

は、そうのようfilteredItemsリストを作成する:そして

filteredItems = new MyPipe().transform(this.items, ["criteria"]);

、Iは、元のリストの代わりに、VirtualScrollにfilteredItemsを表示:

<ion-list [virtualScroll]="filteredItems"> 
    <ion-item *virtualItem="#item"> 
    </ion-item> 
</ion-list> 
1

角度rc3のパイプフィルタの使用例を次に示します。

<ion-list [virtualScroll]="items | SearchPipe:searchBar | SortItems:orderType"> 
    <button ion-item *virtualItem="let item"> 
     <span [innerHtml]='item.Name | BoldPipe:searchbar'></span> 
     <span [innerHtml]='item.Code | BoldPipe:searchbar'></span> 
    </button> 
</ion-list> 

パイプはアイテムではなくリストに適用する必要があります。

ジョン(良い答え)によって投稿答えをあなたはそれがレンダリング

+0

の一部である私はあなたのソリューションを試してみて、それが私の例で動作するかどうかを確認しますのではなく、すべての変更の検出にそれを有効にする必要があるだろう。コントローラーでfilteredListを維持するのではなく、リスト上でフィルターを直接使用する方が良い解決策です。 Angular 2とIonicにはいくつかの更新がありました。私は質問も投稿しました。 – John

関連する問題