我有一个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(使用前将#替换为@)