У меня проблема с "привязкой" моей группы FromGroup к файлу .ts к моему файлу .html.Я пытался изучить другие вопросы и возможные ответы на вопросы stackoverflow и пробовал их в своем приложении, но я все еще получаю несколько ошибок.
Как вы, ребята, видите, я начинаю с вызова [formGroup] и устанавливаю для него chartsForm.
Затем я сообщаю "классу" Отделу, что он входит в группу массивов, используя formArrayName, следующее за formControlName, чтобы указатьэлемент управления.
Итак, моя проблема: Как HTML не может найти элементы управления?Я объявил formArrayName для массива отдела и formControlName = DepartmentName, который вы, ребята, можете увидеть в файле .ts.Где я возможно облажался?
chart.component.html:
<form [formGroup]="chartsForm" (ngSubmit)="onSubmit()">
<div class="form-group row">
<label for="hospital" class="col-sm-2 col-form-label">Hospital:</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="hospital" placeholder="Hospital name"
formControlName="hospitalName" required>
</div>
</div>
<div class="form-group row" formArrayName="department">
<label for="department" class="col-sm-2 col-form-label">Department:</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="department" placeholder="Department"
formGroupName="departmentName">
</div>
</div>
<div class="form-group row" FormArrayName="ward">
<label for="ward" class="col-sm-2 col-form-label">Ward:</label>
<div class="col-sm-10" formArrayName="ward">
<input type="text" class="form-control" id="ward" placeholder="Ward" formControlName="wardName">
</div>
</div>
<button type="submit" [disabled]="!chartsForm.valid">Submit</button>
<p>
Form Status: {{ chartsForm.value | json }}
</p>
<p>
Form Valid: {{ chartsForm.status }}
</p>
</form>
chart.component.ts:
export class ChartComponent implements OnInit {
chartsForm: FormGroup
constructor(private _chartService: ChartService, private fb: FormBuilder, private cookieService: CookieService) {}
ngOnInit(): void {
this.chartsForm = this.fb.group({
hospitalName: ['', Validators.required],
department: this.fb.array([this.korrektJsonOpsætning()]),
})
// console.log(JSON.parse(this.cookieService.get('test')));
}
korrektJsonOpsætning(): FormGroup {
return this.fb.group({
departmentName: ['Intensiv afd.'],
ward: this.fb.array([{
wardName: ['ward1'],
}])
})
}
onSubmit() {
console.log(this.chartsForm.value);
// this.cookieService.set('test', JSON.stringify(this.chartsForm.value));
}
}