类型’AbstractControl’Angular 4上不存在属性’controls’
发布时间:2020-12-17 06:52:24 所属栏目:安全 来源:网络整理
导读:我在Angular 4中尝试嵌套的反应形式.它工作正常但是当我尝试构建AOT时它会抛出错误 ‘controls’ does not exist on type ‘AbstractControl’ 我用Google搜索并尝试了一些事情,但没有运气.谁能告诉我如何解决这个问题? div [formGroup]="myForm" div formA
我在Angular 4中尝试嵌套的反应形式.它工作正常但是当我尝试构建AOT时它会抛出错误
我用Google搜索并尝试了一些事情,但没有运气.谁能告诉我如何解决这个问题? <div [formGroup]="myForm"> <div formArrayName="addresses"> <div *ngFor="let address of myForm.get('addresses').controls; let i=index" class="panel panel-default"> <span *ngIf="myForm.get('addresses').length > 1" (click)="removeAddress(i)">Remove</span> <div [formGroupName]="i"> <mat-form-field> <input matInput formControlName="city" placeholder="city" value=""> </mat-form-field> </div> </div> </div> <a (click)="addAddress()" style="cursor: default"> Add +</a> </div> 下面的打字稿代码 constructor(private _fb: FormBuilder) { } ngOnInit() { this.myForm = this._fb.group({ addresses: this._fb.array([ this.initAddress(),]) }); } initAddress() { return this._fb.group({ city: [''] }); } addAddress() { const control = <FormArray>this.myForm.get('addresses'); control.push(this.initAddress()); } removeAddress(i: number) { const control = <FormArray>this.myForm.get('addresses'); control.removeAt(i); } 解决方法
基于@GünterZ?chbauer评论,首先我改变了
html和打字稿中的myForm.controls [‘addresses’]到myForm.get(‘addresses’) 然后基于@yuruzi评论 将myForm.get(‘addresses’).控件更改为myForm.get(‘addresses’)[‘controls’] 它的工作正常.谢谢@gunter& yuruzi (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |