为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Angular Material 中为组件复选框设置“Y”和“N”的值?

如何在 Angular Material 中为组件复选框设置“Y”和“N”的值?

胡子哥哥 2021-06-29 13:54:01
我使用的数据库不使用布尔值 true 和 false。如何在 Angular Material 中设置组件的值Y和值?Ncheckboxhtml:<mat-checkbox formControlName="IS_ACTIVE"  (change)="checkboxChange($event.checked)">      Active</mat-checkbox>ts:  public setValueOptions = {    onlySelf: true,     emitEvent: false,     emitModelToViewChange: false,     emitViewToModelChange: false  }  initializeForm() {    if (this.data.action == 'add') {      this.form = new FormGroup({        NAME: new FormControl(null, [Validators.required]),        IS_ACTIVE: new FormControl('Y')      })    }  }  checkboxChange(checkboxValue) {    this.form.controls.IS_ACTIVE.setValue(checkboxValue ? 'Y' : 'N', this.setValueOptions);  }
查看完整描述

3 回答

?
子衿沉夜

TA贡献1828条经验 获得超3个赞

不要使用 formControlName。如果您有一个带有 [formControlName] 的输入,则 formGroup 存在。因此,您可以在输入中使用 [ngModel] (ngModelChange)


<mat-checkbox [ngModel]="form.get('IS_ACTIVE').value=='Y'? true:false"

              (ngModelChange)="form.get('IS_ACTIVE').setValue($event? 'Y':'N')"

              [ngModelOptions]="{standalone:true}">

      Active

</mat-checkbox>

更新真的不需要使用 [ngModel],只是


<mat-checkbox [checked]="form.get('IS_ACTIVE').value=='Y'? true:false"

              (change)="form.get('IS_ACTIVE').setValue($event.checked? 'Y':'N')"

              >

      Active

</mat-checkbox>


查看完整回答
反对 回复 2021-07-15
?
森栏

TA贡献1810条经验 获得超5个赞

提供 value="checked" 它将起作用!


<mat-checkbox value="form.controls.IS_ACTIVE.value == 'Y'"?checked:''" (click)="changeValue(checked)" color="primary">

   some Label

</mat-checkbox>


查看完整回答
反对 回复 2021-07-15
  • 3 回答
  • 0 关注
  • 189 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信