尝试实现一个复选框,我可以在其中动态设置值(并让它出现在框中)。
HTML
<mat-checkbox *ngIf="isReply()" class="col-2" formControlName="checkbox" [checked]="false" >CheckBox off</mat-checkbox>
<mat-checkbox *ngIf="!isReply()" class="col-2" formControlName="checkbox" >CheckBox</mat-checkbox>
材料.module.ts
addCheckbox() {
this.checkboxForm = this.fb.group({
'CheckBox':true,
主模块.ts
isReply(): boolean {
return: true;
}
有一个单选按钮可以打开和关闭 isReply()。
当我打开 isReply() 时,我可以看到 CheckBox 标签从“CheckBox”变为“CheckBox off”,但复选框状态(可见)没有改变。
我可以应用其他响应复选框关闭的逻辑,即使该复选框仍处于可见选中状态(真)。这会将复选框的值更改为 false,即使该复选框仍处于可见选中状态 (true)。
当我单击复选框(清除可见框)时,值会切换并且响应符合预期,即使未选中该框,复选框的值现在也是 true。
我做了以下更改,但仍然不起作用
adjust this to:
<div class="row" *ngIf="isReply()">
<mat-checkbox class="col-2" formControlName="checkBox" >CheckBox</mat-checkbox>
</div>
<div class="row" *ngIf="!isReply()">
<mat-checkbox class="col-2" [checked]='true'
formControlName="checkBox" >CheckBox</mat-checkbox>
</div>
在 ts 中:
addCheckbox() {
this.checkboxForm = this.fb.group({
'checkBox':false,
我有两个单选按钮(标准和回复)。
单选按钮的 html:
<form [formGroup]="materials.SignatureType">
<mat-radio-group formControlName="sigtype" >Signature Type:
<label><input type="radio" value="standard" formControlName="sigtype">
<span> Standard</span>
</label>
<label><input type="radio" value="reply" (click)="setBoxes()" formControlName="sigtype" >
<span> Reply</span>
</label>
</mat-radio-group>
setBoxes() 的代码:
if (this.isReply) {
this.materials.checkboxForm.value.checkBox = false;
}
else {
this.materials.checkboxForm.value.checkBox = true;
}
单击“回复”单选按钮会更改复选框的值,但不会更改按钮的状态。
除了单击复选框外,我无法更改按钮状态。
不推荐使用 Angular 7.2.3 [(ngModel)]。