我使用Angular 9,并且具有这样的嵌套形式:
return this.formBuilder.group({
Id: new FormControl(0),
Name: new FormControl(''),
Children: this.formBuilder.array([
this.formBuilder.group(
{
Id: new FormControl(0),
Autocomplete: new FormControl('',[Validators.required])
}
)
])
})
}
我需要访问n个“自动完成”来进行订阅事件并显示推荐。通常,只有一个控件时,我才能使用此功能]
this.filteredData= this.myform.controls['Autocomplete'].valueChanges
.pipe(
startWith<string | any>(''),
map(value => typeof value === 'string' ? value : value.Dispositivo),
map(name => name ? this._filter(name) : this.mylist.slice())
);
感谢大家的帮助。
您有嵌套的表单,自动完成功能位于FormGroup内部的FormArray中:
{
Id: 0
Name: ""
Children: [
{
Autocomplete: ""
Id: 0 }
]
}
因此获得自动完成FormControl:
let autocompleteFormControl =((form.controls["Children"]).controls[0]).controls["Autocomplete"];
autocompleteFormControl.valueChanges...