Angular 5 - Observable - 将 Observable 的第一个值设置为 formgroup

qum*_*uma 4 forms observable angular

我的 onInit 方法中确实有一个可观察的联系人,我还将把可观察的第一个联系人设置到我的表单中。有人提示如何做到这一点吗?

ngOnInit() { 
    let contactsObservable: Observable<Contact[]> = 
    this.contactService.getAllContacts();
    contactsObservable.subscribe(contacts => {
        this.contacts = contacts; 
    });

    this.form = this.fb.group({ 
                // this.contacts[0] does not work
      contact: [this.contacts[0], [Validators.required]] // how to get contact[0] into form for presetting
    });
}
Run Code Online (Sandbox Code Playgroud)

amb*_*ssh 6

您获得异步联系人。当 Observable 返回值时可以放入值。

ngOnInit() { 
   this.form = this.fb.group({ 
     contact: ['', [Validators.required]] 
   });
   let contactsObservable: Observable<Contact[]> = 
   this.contactService.getAllContacts();
   contactsObservable.subscribe(contacts => {
       this.contacts = contacts; 
       this.form.controls['contact'].setValue(this.contacts[0])
   });
}
Run Code Online (Sandbox Code Playgroud)