Bu gereklilik için, genel bir bileşen uyguluyorum ve yayınlıyorum . Görmek
https://www.npmjs.com/package/w-ng5
Bu bileşenleri kullanmak için, daha önce bu paketi npm ile yükleyin:
npm install w-ng5 --save
Ardından, app.module modülünü içe aktarın
...
import { PipesModule } from 'w-ng5';
Bir sonraki adımda, app.module'un declare bölümüne ekleyin:
imports: [
PipesModule,
...
]
Örnek kullanım
Basit dizeyi filtreleme
<input type="text" [(ngModel)]="filtroString">
<ul>
<li *ngFor="let s of getStrings() | filter:filtroString">
{{s}}
</li>
</ul>
Karmaşık dizeyi filtreleme - 2. düzeydeki 'Değer' alanı
<input type="text" [(ngModel)]="search">
<ul>
<li *ngFor="let s of getComplexTypesExtends() | filter:[{field:'n1.n2.valor2', value: search}]">
{{s.nome}} - {{s.idade}} - {{s.n1.valor1}} - {{s.n1.n2.valor2}}
</li>
</ul>
Karmaşık dize filtreleme - orta alan - düzey 1'de 'Değer'
<input type="text" [(ngModel)]="search3">
<ul>
<li *ngFor="let s of getComplexTypesExtends() | filter:[{field:'n1.valor1', value: search3}]">
{{s.nome}} - {{s.idade}} - {{s.n1.valor1}} - {{s.n1.n2.valor2}}
</li>
</ul>
Karmaşık dizi filtreleme basit - alan 'Nome' seviye 0
<input type="text" [(ngModel)]="search2">
<ul>
<li *ngFor="let s of getComplexTypesExtends() | filter:[{field:'nome', value: search2}]">
{{s.nome}} - {{s.idade}} - {{s.n1.valor1}} - {{s.n1.n2.valor2}}
</li>
</ul>
Ağaç alanlarına filtre uygulama - 2. düzeydeki 'Valor' alanı veya 1. düzeydeki 'Valor' veya düzey 0'daki 'Nome' alanı
<input type="text" [(ngModel)]="search5">
<ul>
<li *ngFor="let s of getComplexTypesExtends() | filter:[{field:'n1.n2.valor2', value: search5}, {field:'n1.valor1', value: search5}, {field:'nome', value: search5}]">
{{s.nome}} - {{s.idade}} - {{s.n1.valor1}} - {{s.n1.n2.valor2}}
</li>
</ul>
Varolmayan alanı filtreleme - Varolmayan düzey 3'te 'Valor'
<input type="text" [(ngModel)]="search4">
<ul>
<li *ngFor="let s of getComplexTypesExtends() | filter:[{field:'n1.n2.n3.valor3', value: search4}]">
{{s.nome}} - {{s.idade}} - {{s.n1.valor1}} - {{s.n1.n2.valor2}}
</li>
</ul>
Bu bileşen sonsuz nitelik seviyesi ile çalışır ...
<div *ngFor="let item of itemsList" *ngIf="conditon(item)" ...