我有一個表單,我希望用戶編輯他希望收到的雜誌訂閱。代碼如下:如何處理Angular 2 RC5中的複選框組?
組件:
export class OrderFormComponent {
subscriptions = [
{id: 'weekly', display: 'Weekly newsletter'},
{id: 'monthly', display: 'Monthly newsletter'},
{id: 'quarterly', display: 'Quarterly newsletter'},
];
mySubs = [
this.subscriptions[1]
]
order = new FormGroup({
subs: new FormArray(this.mySubs.map(sub => new FormControl(sub)), Validations.required) //Lost at this part
});
}
模板:
<form [formGroup]="order">
<div formArrayName="subs">
<label>Sign me up for newsletters</label>
<p *ngFor="let s of subscriptions; let i=index">
<input type="checkbox" [value]="s.id" [formControlName]="i" /> {{ s.display }}
</p>
</div>
<div>
<input type="checkbox" formControlName="agree" /> I agree to the terms and conditions.
</div>
{{ order.value | json }}
當我運行應用程序時,將顯示三個複選框,但只有一個被選中(錯誤一個在那)。被檢查的人有一個標籤,而其他人沒有。
我在做什麼錯在這裏?
'[checked] =「subscription.schedules.includes(schedule)」''因爲'subscription.schedules'永遠不會被修改嗎? – Kevin
我真的不記得其他所有東西如何連線起作用。我從Angular開始。對不起:/ – kshep92
很好的答案!謝謝。它允許我避免爲類似的任務 –