0
私はこのような画面を持っています。セグメント内のIonic2チェックボックスの問題
ここで私は、第一セグメント(マンセグメント)&は、女性のセグメントから他のチェックボックスを選択するために、第二のセグメント(女セグメント)に行くから、チェックボックスを選択しています。しかし、最初のセグメントに戻ると、以前のすべてのチェックボックスがオフになっていますが、選択したフォームコントロールに値があることがわかります。私は&の新しいformcontrolを値のついたformarrayに持ってきて、チェックを外すと&のチェックを外す。
私は理解を深めるためにコードを追加しています。
constructor(public fb : FormBuilder){
this.checkboxForm = this.fb.group({
categories : this.fb.array([],CustomValidators.multipleCheckboxRequireAtleastOne)
});
}
updateCheckedOptions(category, isChecked) {
const categories = <FormArray>this.checkboxForm.controls['categories'];
if(isChecked) {
categories.push(new FormControl(category));
console.log(categories.controls);
}
else {
let index = categories.controls.findIndex(x => x.value.id == category.id);
categories.removeAt(index);
}
}
とビュー
<form [formGroup]="checkboxForm" (ngSubmit)="onSubmit(checkboxForm.value)">
<ng-template *ngFor="let category of categories; let i=index">
<ion-checkbox (ionChange)="updateCheckedOptions(category,$event.checked)">
</ion-checkbox>
</ng-template>
<button type="submit" ion-button [disabled]="!checkboxForm.valid">go next</button>
</form>
にご提案して助けてください。