Angular 5-Observable-将Observable的第一个值设置为表单组 [英] Angular 5 - Observable - set first value of Observable into formgroup
本文介绍了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屋!
查看全文