You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular中使用[checked]="true"设置Checkbox选中状态不生效问题

问题根因

  • 若Checkbox组件同时绑定了[(ngModel)]/FormControl这类Angular表单API和[checked]属性,表单绑定的状态优先级会高于[checked]的手动设置,因此[checked]="true"不会生效
  • 部分Angular生态的第三方UI组件库(如Angular Material)对Checkbox组件做了封装,本身不支持直接通过原生[checked]属性控制选中状态

解决方法

方案1:修改表单绑定的变量值(推荐)

如果你的业务需要用到双向绑定或响应式表单能力,直接修改对应绑定的变量即可控制选中状态,无需额外设置[checked]:

<!-- 错误写法 -->
<mat-checkbox [checked]="true" [(ngModel)]="checkedStatus">测试选项</mat-checkbox>

<!-- 正确写法 -->
<mat-checkbox [(ngModel)]="checkedStatus">测试选项</mat-checkbox>

在组件ts文件中给绑定变量赋初始值即可默认勾选:

checkedStatus = true;

方案2:移除表单绑定,单独用[checked]控制

如果不需要表单相关能力,去掉[(ngModel)]/FormControl绑定后,[checked]属性即可正常生效:

<mat-checkbox [checked]="true">测试选项</mat-checkbox>

内容的提问来源于stack exchange,提问作者Sam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.16 15:06:09