Javascript 角度复选框检查
我正在编写一个代码,如果一个材料被批准,它将在旁边显示一个蓝色标记,而无需我选中复选框。我尝试了下面的方法,但是,我仍然可以选中该框,它尚未选中。这是打开页面时的外观: 我做错了什么 HTML:Javascript 角度复选框检查,javascript,html,angular,typescript,Javascript,Html,Angular,Typescript,我正在编写一个代码,如果一个材料被批准,它将在旁边显示一个蓝色标记,而无需我选中复选框。我尝试了下面的方法,但是,我仍然可以选中该框,它尚未选中。这是打开页面时的外观: 我做错了什么 HTML: 使用[checked]属性在开始时显示选中状态 <mat-checkbox [(ngModel)]="row.IsApproved" [ngModelOptions]="{standalone: true}" binary="
使用
[checked]
属性在开始时显示选中状态
<mat-checkbox
[(ngModel)]="row.IsApproved" [ngModelOptions]="{standalone: true}"
binary="true"(onChange)="onChecked($event)"
[checked]="row.IsApproved"> Approved
</mat-checkbox>
已批准
您是否已将属性IsApproved
设置为true
假设您有类似的数据源
dataSource = [
{
"IsApproved": true, //Set this to true so that row.IsApproved will mark the checkbox as checked
...
},
...
]
[(ngModel)]是“模板表单”。它不应该获取值,而是对象
这里有两个选项。要么不使用模板表单,要么使用复选框项的“值”输入属性设置如下值:
<mat-checkbox [checked]="row.IsApproved" binary="true (onChange)="onChecked($event)">
Approved
</mat-checkbox>
谢谢,但它仍然没有显示任何内容,它保持不变。对不起,这是正确的方法。如果只说[checked]=“true”
,会发生什么?我假设IsApproved
在开始时是false。是的,它是false。好的。再试一次。把所有参数放在一边,只需说Approved
。只是为了证明它是有效的。ngModel能够从对象中拾取字段。他就是这样做的。所以这段代码没有错。但设置该值不会影响刻度。你说得对,他必须使用[选中]
。没有办法。
dataSource = [
{
"IsApproved": true, //Set this to true so that row.IsApproved will mark the checkbox as checked
...
},
...
]
<mat-checkbox [checked]="row.IsApproved" binary="true (onChange)="onChecked($event)">
Approved
</mat-checkbox>