送信時にチェック項目のIDを取得できません。変更時に選択したIDを取得できますが、送信時には取得できません。注 - 私が戻ってきたデータには、チェックされた値がありません。したがって、選択した値をデータ構造にプッシュする方法はあるかもしれませんが、その方法はわかりません。送信時に複数の選択されたチェックボックスからIDを取得する方法は? Ionic 2+/Angular 2+
HTML
<form [formGroup]="itemForm" (ngSubmit)="submit(itemForm)">
<ion-list >
<div>
<ion-item>
<ion-checkbox formControlName="selectAll" (click)="checkAll()" [(ngModel)]="selectedAll" ></ion-checkbox>
</ion-item>
<ion-item *ngFor="let item of items">
<ion-label>
{{item.text}}
</ion-label>
<ion-checkbox [checked]="selectedAll" formControlName="recvd" value="item.id" (ionChange)="select(item)"></ion-checkbox>
</ion-item>
</div>
<button ion-button full type="submit"></button>
</ion-list>
</form>
TS
export class MessagesPage {
selectedAll: boolean = false;
items: [];
constructor(){}
submit(form){
console.log(form.value, 'FORMVALUE HERE') // this returns true
}
select(item){
console.log(item) //this returns the selected item on change with the id
}
}
私は、イオン性ここで、おそらくその異なるに慣れていないんだけど、純粋な角度で、あなたが値として「の値」属性を設定しようとした場合= "item.id"はバインドされません。その値は文字列 "item.id"に等しい文字列リテラルに設定されます(idという項目オブジェクトのプロパティではなく文字列)。私は補間または属性バインディングを使用して、それを確実にバインドする必要があると思います。 [value] = "item.id"またはvalue = "{{item.id}}" – diopside