测试 FormArray

2024-02-27

我有一个PhoneNumbersFormComponent其模板如下所示:

<div [formGroup]="form">
    <div formArrayName="numbers">
      <input formControlName="countryPrefix">
      <input formControlName="number">
    </div>
</div>

我想通过 angular-cli 创建的默认测试ng g component xxx

我得到的第一个错误是:

找不到名称为“countryPrefix”的控件

我用以下方法解决了这个问题:

  beforeEach(() => {
    fixture = TestBed.createComponent(PhoneNumbersFormComponent);
    component = fixture.componentInstance;
    component.phoneNumbers = [];
    component.form = new FormGroup({
      countryPrefix: new FormControl(),
      number: new FormControl()
    });
    fixture.detectChanges();
  });

现在剩下的最后一个错误是:

找不到名称为“numbers”的控件

我不知道如何测试formArrayName="numbers"


尝试这样的事情:

let array: FormGroup[] = [];
array.push(new FormGroup({
      countryPrefix: new FormControl(),
      number: new FormControl()
}));
let formArray = new FormArray(array);
component.form = new FormGroup({
       numbers: formArray // or array not totally sure
})
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

测试 FormArray 的相关文章

随机推荐