具有n个自动完成输入的角nestead形式

问题描述 投票:0回答:1

我使用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())
       );

感谢大家的帮助。

angular typescript angular-reactive-forms nested-forms
1个回答
0
投票

您有嵌套的表单,自动完成功能位于FormGroup内部的FormArray中:

{  
Id: 0
Name: ""
Children: [
  {
   Autocomplete: ""
   Id: 0 }
 ]
}

因此获得自动完成FormControl:

let autocompleteFormControl =((form.controls["Children"]).controls[0]).controls["Autocomplete"];
autocompleteFormControl.valueChanges...
© www.soinside.com 2019 - 2024. All rights reserved.