gpt4 book ai didi

javascript - Angular 为 2 的三态复选框

转载 作者:搜寻专家 更新时间:2023-10-30 21:19:05 25 4
gpt4 key购买 nike

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

 <input type="checkbox" [ngStyle]="{content: expression}" *ngIf="milestone?.description" [checked]="milestone?.status == 'checked'" (change)="checkMilestone(milestone,initiative, $event, '')">

但是,我在添加 crossed (X) 复选框时遇到了问题。有谁知道应该怎么做?我是否应该这样说:

states = [
{ id: 0, status: 'checked'},
{ id: 1, status: 'unchecked'},
{ id: 2, status: 'crossed'}
];

并添加样式并相应地更改它们?我不确定如何添加三种样式而不是两种。

最佳答案

indeterminate复选框的状态可以用 property binding 设置.这是标记的简化版本,显示了 indeterminate 状态绑定(bind):

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

checkMilestone 方法可能是这样的:

checkMilestone(milestone) {
switch (milestone.status) {
case "checked": {
milestone.status = "unchecked";
break;
}
case "unchecked": {
milestone.status = "crossed";
break;
}
case "crossed": {
milestone.status = "checked";
break;
}
}
}

参见 this stackblitz用于演示。

关于javascript - Angular 为 2 的三态复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53052087/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com