想要使用“FormBuilder”和“Form Control method”添加带有 Alais 按钮的新空输入框,但在 addAlais() 方法中出现错误

问题描述

export class ProfileEditorComponent implements OnInit {    
     profileForm = this.fb.group({
      firstName: ['',Validators.required],lastName: [''],address: this.fb.group({
        street: [''],city: [''],state: [''],zip: [''],}),aliases: this.fb.array([
        this.fb.control('')
      ])
    });        
      constructor(private fb: FormBuilder ) { } 
      ngOnInit(): void {       
      }    
      onSubmit(){
        console.warn(this.profileForm.value);
      }   
      updateProfile(){
        this.profileForm.patchValue({
          firstName:'Nancy2',address:

  

{
        street:'123 Drew street',},});
  }      
  getAlias(){
    return this.profileForm.get('aliases') as FormArray; 
  }    
  addAlias(){
    this.aliases.push(this.fb.control(''));  
  }     
}
<div formArrayName="aliases">
    <h3>Alaises</h3> <button (click)="addAlias()">Add Alais</button>
    <div *ngFor= "let alias of aliases.controls; let i=index" >         
        <label>
            Alais:
            <input type="text" [formControlName]="i">
        </label>
    </div>
</div>  
   

我试图在按下 Alais 按钮后动态添加表单,但在编写代码时,我在 addAlais() 方法中收到错误,指出 Property 'aliases' does not exist on type 'ProfileEditorComponent'.ts(2339) 以及 {{1} 中的 HTML 代码div 说明“未定义标识符‘别名’。组件声明、模板变量声明和元素引用不包含这样的成员 ng”不知道出了什么问题我想通过使用 {{1仅限 }} 和 FormArray 属性。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)