J'ai une liste de données. La structure de données est une à plusieurs. Chaque parent a plusieurs éléments enfants. J'essaye de cacher les éléments parents dupliqués. Mais il s'avère cacher tous les enregistrements dupliqués. Je suis le tutoriel ci-dessous. Besoin d'aide. Au lieu de supprimer tout le dossier, je veux juste cacher l'élément parents.Angular2 * ngPour masquer les éléments parents
My datatable: Failed Results: Expected Results:
Parent Child Parent Child Parent Child
Lee 123 Lee 123 Lee 123
Lee 124 Rose 111 124
Lee 125 125
Rose 111 Rose 111
Code:
//our root app component
import { Component, NgModule, VERSION } from '@angular/core'
import { BrowserModule } from '@angular/platform-browser'
import { Pipe, PipeTransform, Injectable } from '@angular/core'
@Pipe({
name: 'uniqFilter',
pure: false
})
@Injectable()
export class UniquePipe implements PipeTransform {
transform(items: any[], args: any[]): any {
// filter items array, items which match and return true will be kept, false will be filtered out
return _.uniqBy(items, args);
}
}
@Component({
selector: 'my-app',
providers: [],
template: `
<div>
<ul>
<li *ngFor="let account of accounts | uniqFilter:'Parent'">{{ account.Parent }} and {{ account.Child }}</li>
</ul>
</div>
`,
directives: [],
pipes: [UniquePipe]
})
export class App {
constructor() {
this.accounts = [{
"Parent": 'Lee',
"Child": "4/6/2016"
},
{
"Parent": 'Lee',
"Child": "4/7/2016"
},
{
"Parent": 'Rose',
"Child": "4/9/2016"
},
{
"Parent": 'Rose',
"Child": "4/10/2016"
},
{
"Parent": 'Lee',
"Child": "4/12/2016"
}];
}
}
@NgModule({
imports: [ BrowserModule ],
declarations: [ App, UniquePipe ],
bootstrap: [ App ],
providers: [ UniquePipe ]
})
export class AppModule {}
S'il vous plaît ajouter le code correspondant directement à votre question au lieu de seulement lier à une ressource externe. –