Angular 5-Observable-将Observable的第一个值设置为表单组 [英] Angular 5 - Observable - set first value of Observable into formgroup

查看:124
本文介绍了Angular 5-Observable-将Observable的第一个值设置为表单组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的onInit方法中确实有一个Observable of Contacts,并且还将把Observable的第一个联系人设置为我的表单. 有没有人提示如何执行此操作?

I do have an Observable of Contacts in my onInit method and I also will set the first contact of the Observable into my form. Has anyone a hint how to do this?

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
    });
}

推荐答案

您获得的联系人是异步的. 可以在Observable返回值时放入值.

You get contacts async. Value can be put when Observable return value.

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])
   });
}

这篇关于Angular 5-Observable-将Observable的第一个值设置为表单组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆