如何修复错误:formControlName 必须与父 formGroup 指令一起使用 - Angular ReactiveForms FormBuilder

问题描述

我收到此错误

ERROR Error: formControlName must be used with a parent formGroup directive.  You'll want to add a formGroup directive and pass it an existing FormGroup instance (you can create one in your class).

我已经在 module.ts 中导入了 import { ReactiveFormsModule } from '@angular/forms';

这是模板.html:

<mat-step [stepControl]="bankFormGroup" label="Some label">
    <form [formGroup]="bankFormGroup">
        <mat-form-field>
            <mat-label>Banco</mat-label>
            <mat-select ngDefaultControl formControlName="bank">
                <mat-option *ngFor="let bank of banks" value="{{bank.id}}">
                    {{bank.id}} - {{bank.name}}
                </mat-option>
            </mat-select>             
        </mat-form-field>
        <mat-form-field>
            <mat-label>Agência</mat-label>
            <input matInput formControlName="agency" placeholder="0001">                
        </mat-form-field>
        <mat-form-field>
            <mat-label>Número da Conta Corrente</mat-label>
            <input matInput formControlName="account" placeholder="26262661">                
        </mat-form-field>
        {...action form}
    </form>
</mat-step>

这是component.ts:

import { FormBuilder,FormGroup,Validators } from '@angular/forms';

export class UploadComponent {
  
  bankFormGroup: FormGroup = this._formBuilder.group({
    bank: ['',Validators.required],agency: ['',account: ['',Validators.required]
  });
  banks: any[] = [
    { id: '001',name: 'Banco do Brasil S.A.' },{ id: '237',name: 'Banco Bradesco S.A.' },];

 constructor(private _formBuilder: FormBuilder) { }

}

我已经在其他页面中看到了另一个类似的问题,例如 https://stackoverflow.com/questions/43305975 。但我仍然无法消除这个问题。

我正在使用:

"@angular/forms": "^11.0.0","@angular/core": "^11.0.0","@angular/material": "^11.0.3",

解决方法

错误在同一组件中以另一种形式出现。另一种没有 <form [formGroup]="FormGroupName"> 父级的表单..

用[formGroup]检查是否有另一个没有父容器的表单

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...