Javascript 带角度2的三状态复选框

Javascript 带角度2的三状态复选框,javascript,css,angular,typescript,checkbox,Javascript,Css,Angular,Typescript,Checkbox,我想做一个有三种状态的输入框:选中、未选中和交叉(也称失败) 目前,我能够进行检查/取消检查并相应地更改计算 复选框的状态可以设置为。以下是标记的简化版本,显示了不确定的状态绑定: <input type="checkbox" [indeterminate]="milestone?.status === 'crossed'" [ngModel]="milestone?.status === 'checked'" (ngModelChange)="checkMilestone(mil

我想做一个有三种状态的输入框:选中、未选中和交叉(也称失败) 目前,我能够进行检查/取消检查并相应地更改计算

复选框的状态可以设置为。以下是标记的简化版本,显示了
不确定的
状态绑定:

<input type="checkbox" [indeterminate]="milestone?.status === 'crossed'" 
  [ngModel]="milestone?.status === 'checked'" (ngModelChange)="checkMilestone(milestone)">

请参阅演示。

请参阅此帖子:@Silvermind-您打算将您的评论作为答案发布吗?@ConnorsFan如果我知道如何使用与ngModel和/或formControl兼容的东西,我会这样做。然而,这并不像听起来那么琐碎。这就是为什么我用纯javascript评论了一个示例博客,因为它不足以作为我的答案。我建议不要使用复选框类型的输入,你应该使用你需要的三种状态的逻辑来创建你的on组件。优秀的人谢谢你。我知道有办法,但我不知道它叫
[不确定]
checkMilestone(milestone) {
  switch (milestone.status) {
    case "checked": {
      milestone.status = "unchecked";
      break;
    }
    case "unchecked": {
      milestone.status = "crossed";
      break;
    }
    case "crossed": {
      milestone.status = "checked";
      break;
    }
  }
}