带有布尔值的角度复选框

时间:2021-01-29 10:55:36

标签: angular typescript checkbox

我正在处理一个 Angular 项目,我需要授予使用权限。 isAdmin 是一个布尔值(假/真)。但是它想不通如何将正确的值解析给组件并保存该值。

<div class="checkbox">
   <label>
     <input type="checkbox" name="isAdmin" [(ngModel)]="user.isAdmin" [checked]="item.checked">
     Is Admin?
   </label>
</div>

component.ts 看起来像这样:

this.userForm.get('isAdmin').valueChanges.subscribe(val => {
  this.newUser.isAdmin = !!val;
});

有人能看到我的错误吗?

1 个答案:

答案 0 :(得分:0)

在您的 html 中,您使用的是 template based forms。但是在您的 ts 中,您使用的是 Reactive forms 方法。

因此,您应该更改 HTML 以使用如下所示的响应式表单方法:

<div class="checkbox">
   <label>
     <input type="checkbox" name="isAdmin" [formControl]="userForm.get('isAdmin')" [checked]="item.checked">
     Is Admin?
   </label>
</div>