2017-02-05 1 views
0

私はanglebase2を含む反応形式を持っています。それは、選択した値角度2 md-selectはObservable配列からデータを取り込むときに選択された値にバインドしません

doctors$:Observable<Doctor[]> = this.doctorService.findAllDoctors(); 
 
    
 

 
    constructor(private fb:FormBuilder , public doctorService : DoctorService 
 
    ,private cdr: ChangeDetectorRef) 
 

 
    {  
 
    
 
this.doctors$= this.doctorService.findAllDoctors(); 
 
    
 
this.form = this.fb.group({ 
 
     FullName: ['',Validators.required], 
 
     Ext: [''], 
 
     BirthDate: ['',Validators.required], 
 
     Gender: ['',Validators.required], 
 
     Phone: ['',[Validators.required]], 
 
     doctorId: [''] 
 

 
    }); 
 
<md-select formControlName="doctorId" ngControl="doctorId" placeholder="Doctor" > 
 
     <md-option *ngFor="let p of doctors$ | async " [value]="p.value">{{p.value}}</md-option> 
 

 
    </md-select>

がここ

MD-選択選択VALUとを更新することで解決
+0

オプションデータをロードした後は、データのためにサブスクライブする必要があります。医者のサービスコードをあなたの投稿に更新してください。 **あなたの医師の変数はObservable ** – Aravind

+0

です。私はデータを購読しています。それは医者のリストを取得しますが、残念ながらformgroupを作成した後、医者がmd-selectにバインドされたときにオプションを見つけることができない、私がコンストラクタにオプションを入れたとき var doctors = [{Name: "Ahmed"}、{Name: "Jack"}]それは動作します! 、ここでの問題は、フォームグループがバインドされた後にデータが最近来ていることです。データサブスクリプション後にフォームグループを作成するにはどうしてですか? ありがとうございます –

答えて

0

コードを入力して表示されません観測可能と非同期に来るデータ電子非同期

ngOnInit() { 
 
    
 
this.doctors$.subscribe(c=>{ 
 

 
    this.form.controls['doctorId'].patchValue(this.initialValue.doctorId); 
 

 

 
});

関連する問題