如何以0/1而不是真/假反应形式获取复选框的值angular4
Posted
技术标签:
【中文标题】如何以0/1而不是真/假反应形式获取复选框的值angular4【英文标题】:How to get value of checkbox in 0/1 instead of true/false reactive forms angular4 【发布时间】:2018-03-02 13:41:57 【问题描述】:我从事 angular4 项目,我有一个要求,我需要在 0/1 而不是真/假中获取复选框的值。我的意思是如果选中了复选框,那么它将返回 1,否则返回 0。如果有人知道解决方案,请指导我,提前致谢。
<form [formGroup]="myForm">
<input type="checkbox" formControlName="status" />
</form>
【问题讨论】:
【参考方案1】:您可以通过这种方式将boolean
转换为number
:
+
运营商:+var
Number
构造函数作为函数:Number(var)
https://***.com/a/29543818/4099454
const success = true;
const failure = false;
console.log('success: ', success, '=>', +success);
console.log('failure: ', failure, '=>', +failure);
【讨论】:
【参考方案2】:添加即可:
(change)="status = $event.target.checked ? 1: 0"
喜欢:
<input type="checkbox"
(change)="status = $event.target.checked ? 1: 0"
name="status "
[(ngModel)]="status ">
【讨论】:
【参考方案3】:试试这个:
<input
type="checkbox"
checked="checkbox_checked"
[(ngModel)]="checkbox_checked"
(change)="checkbox_checked ? state = 1 : state = 0">
.ts
checkbox_checked: 布尔值;
状态:数字;
【讨论】:
【参考方案4】:我已经设法使它工作,但只能使用 ngForm plunker。在最新版本中,它根本不绑定到值,可能是错误。
<input type="checkbox" (ngModelChange)="status = $event ? 1 : 0" [ngModel]="status" />
【讨论】:
它不工作,我试过这个,但取消选中它的未设置值 0。 @TarnjeetSingh 已更新,但仅使用 ngForm 并且它在最新版本上存在某种错误以上是关于如何以0/1而不是真/假反应形式获取复选框的值angular4的主要内容,如果未能解决你的问题,请参考以下文章