2

我从事 angular4 项目,我有一个要求,我需要在 0/1 而不是真/假中获取复选框的值。我的意思是,如果选中复选框,那么它将返回 1,否则返回 0。如果有人知道解决方案,请指导我,在此先感谢。

<form [formGroup]="myForm">
    <input type="checkbox" formControlName="status" />
</form>
4

4 回答 4

4

你可以通过这种方式投射booleannumber

  1. +操作员:+var
  2. Number构造函数作为函数:Number(var)
  3. https://stackoverflow.com/a/29543818/4099454

const success = true;
const failure = false;

console.log('success: ', success, '=>', +success);
console.log('failure: ', failure, '=>', +failure);

于 2017-09-21T09:54:11.493 回答
2

只需添加它:

 (change)="status = $event.target.checked ? 1: 0"

喜欢:

 <input type="checkbox" 
   (change)="status = $event.target.checked ? 1: 0"
   name="status "
   [(ngModel)]="status ">
于 2019-08-08T04:59:24.917 回答
1

尝试这个:

<input 
    type="checkbox" 
    checked="checkbox_checked" 
    [(ngModel)]="checkbox_checked"
    (change)="checkbox_checked ? state = 1 : state = 0">

.ts

checkbox_checked:布尔值;

状态:数字;

于 2019-06-11T11:11:22.767 回答
0

我已经设法使它工作,但只能使用 ngForm plunker。在最新版本上,它根本不绑定到值可能是错误。

<input type="checkbox" (ngModelChange)="status = $event ? 1 : 0" [ngModel]="status" />
于 2017-09-21T09:16:45.020 回答