angular - 确定复选框是否被选中
问题描述
想要使用 if 语句确定是否已在最新版本的 Angular 中选择了复选框。
我的代码:
<mat-menu #wj="matMenu">
<section><mat-checkbox (id)='1' (click)="$event.stopPropagation()">Cool Kids</mat-checkbox></section>
</mat-menu>
<div class="float-right">
<mat-action-row>
<button mat-button color="primary" (click) = "generateLink()" >Generate Link</button>
</mat-action-row>
在 component.ts 中:
generateLink() {
<HTMLInputElement>document.getElementById('1')
if(<HTMLInputElement>document.getElementById('1')){
console.log('y');
}
}
这个想法是,一旦按下提交按钮,该generateLink()
方法将评估以查看所有由 ID 选中的复选框。如果有更好的方法可以做到这一点,请分享。本质上,有 15 个复选框,当按下提交按钮时,我需要在最后将它们的所有值收集到一个数组中。
解决方案
首先,您应该知道 mat-checkbox 为MatCheckbox对象生成一个内部 id。
其次,我同意您应该通过 Forms 管理您的元素状态。
但是,如果您仍想跟踪是否选中了某些复选框,则可以跟踪它。
简单地说,我使用服务将每个选定的复选框作为 MatCheckbox 对象发出。
然后,我在单击 Button 时迭代 MatCheckbox 数组,每次迭代都会评估选中的对象并将其 id 打印到控制台,仅用于演示目的。
希望能帮助到你。
推荐阅读
- java - 硒的假阳性和假阴性令人困惑
- swiftui - 在 SwiftUI 中,当底层数据没有改变时,基于底层数据动态更新行的最佳方法是什么?
- timestamp - 这是什么时间戳格式?
- swiftui - 主机应用程序关闭时如何从 Intent Handler 中的 coredata 重新加载获取数据?
- python - 如何在更改页面时不影响内容Django
- java - 使用 DefaultComboBoxModel 和 HashMap 自动更新组合框
- rest - REST(GET方法)命名用于获取对象列表
- java - 如何使用 ASM 库从库中识别被覆盖的方法?
- python - 从文件创建字典(包含具有多个值的键)
- r - 在rcpp犰狳中将向量与double进行比较