input type="checkbox"にboolean以外の値を設定する
Angular2でinput type="checkbox"を利用する際の設定方法についてです。
値がboolean以外の場合、AngularJS(1.x)で利用できた「ng-true-value」や「ng-false-value」に代わるものが見当たらなかったので、現状、対象となるデータ型がbooleanかそうでないか書き方を変える必要があります。
値がbooleanの場合
HTML
<label>
<input type="checkbox" [(ngModel)]="exampleCheck"/>テスト
</label>
TypeScript
export class ExampleComponent {
exampleCheck = true;
}
値がboolean以外の場合
HTML
<label>
<input type="checkbox" [checked]="exampleCheck == '1'" (change)="exampleCheck = changeFlag(exampleCheck)" />テスト
</label>
TypeScript
export class ExampleComponent {
exampleCheck = this.getDateStr(new Date());
changeFlag(flag: string): string {
return flag == "1" ? "0" : "1";
}
}