在Angular 9中使用ngFor指令一次只选中一个复选框,可以通过绑定一个选中的值来实现。以下是一种实现方式:
selectedCheckbox: any;
<div *ngFor="let checkbox of checkboxes">
<input type="checkbox" [(ngModel)]="checkbox.checked" (change)="selectCheckbox(checkbox)">
{{ checkbox.value }}
</div>
上述代码中,checkboxes
是一个数组,包含了复选框的值和选中状态。checkbox.checked
绑定了复选框的选中状态。
selectCheckbox(checkbox: any) {
this.checkboxes.forEach((c: any) => {
if (c !== checkbox) {
c.checked = false; // 取消其他复选框的选中状态
}
});
this.selectedCheckbox = checkbox; // 保存选中的复选框的值
}
上述代码中,遍历复选框数组,将除当前选中复选框外的其他复选框的选中状态设置为false。然后将当前选中复选框的值保存到selectedCheckbox
变量中。
这样,每次选中一个复选框时,其他复选框的选中状态就会自动取消,只有一个复选框被选中。
请注意,这只是一种实现方式,具体的实现可以根据实际情况进行调整。
另外,推荐的腾讯云相关产品和产品介绍链接地址,可参考腾讯云的官方文档和产品页面:
领取专属 10元无门槛券
手把手带您无忧上云