【发布时间】:2020-06-27 00:22:26
【问题描述】:
我的RactiveForm 中有 7 个复选框。这就是我使用FormArray 生成它们的方式:
ts:
weekDaysDe: string[] = ['Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa', 'So'];
taskForm: FormGroup = this.formBuilder.group({
weekDays: this.formBuilder.array([
this.formBuilder.control(false),
this.formBuilder.control(false),
this.formBuilder.control(false),
this.formBuilder.control(false),
this.formBuilder.control(false),
this.formBuilder.control(false),
this.formBuilder.control(false),
]),
});
html:
<!-- weekdays -->
<div class="task-form-control" *ngIf="isRecurrent">
<mat-label>Tage</mat-label>
<div class="weekdays" formArrayName="weekDays">
<mat-checkbox
*ngFor="
let weekDay of taskForm.get('weekDays').value;
let i = index
"
color="primary"
labelPosition="before"
[formControlName]="i"
>{{ weekDaysDe[i] }}</mat-checkbox
>
</div>
</div>
复选框按预期呈现,但有两个问题:
- 一开始都是检查的
- 他们互相勾选/取消勾选。例如,当我检查第一个时,最后一个也会被检查
我做错了什么?
【问题讨论】:
标签: angular-material angular-reactive-forms formarray