2017.3.14
2019.3.13

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";
    }
}

Angular】関連記事