如何解决如何修复错误: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]检查是否有另一个没有父容器的表单
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。