2017-06-15 10 views
0

私は現在、ng2-completerの角度2を使用していますが、これはキーワード検索でうまくいきます。カスタム検索でng2-completerを実装しています

私は2つのテーブルがあります。

  • アーティスト

一つの芸術家は、それが1対多の関係ですが、複数の番組を持つことができます示しています。

アーティスト名で検索する必要があります。アーティスト名で検索する場合、特定の「アーティスト」のすべての「ショー」を表示する必要があります。

これは私のコードです:

this.dataService = completerService.local(this.searchData, 'artisName', 'artisName'); 

答えて

0

それを行うための最善の選択肢は、新しいアーティストが選択されるたびdataSourceに変更番組リストを放出するSubjectを作成することです。

public artistsDataService: CompleterData; 
public showsDataService: CompleterData; 

private showsSubject = new Subject(); 

constructor(completerService: CompleterService) { 
    this.artistsDataService = completerService.local(this.artists, 'artisName', 'artisName'); 
    this.showsDataService = completerService.local(this.showsSubject, 'showName', 'showName'); 
} 

public onArtistsSelected(selectedItem: CompleterItem) { 
    if (selectedItem) { 
     const artistShows = this.showsDataService.filter(...); 
     this.showsDataService.next(artistShows); 
    } else { 
     this.showsDataService.next([]); 
    } 
} 
関連する問題