angular-reactive-forms - 从 Angular 2+ 中的预定义数据填充 formControlName 复选框
问题描述
我有一个动态创建的复选框列表,我无法根据预定义的列表检查某些正确性。
HTML:
<div class="row">
<div class="example-container col-md-6">
<div *ngFor="let atribuicao of atribuicoesOcorrencia" formArraylName="inputAtribuicaoOcorrencia">
<mat-checkbox [value]="atribuicao.id" (change)="onChange(atribuicao, $event)">
<div style="white-space: pre-wrap;">
{{ atribuicao.descricao }}
</div>
</mat-checkbox>
</div>
</div>
</div>
CLASS TS:我尝试在列表中填充 formControl 名称 inputAtribuicaoOcorrencia,在这种情况下,唯一的一个 checekd 是 id 3,但没有任何反应
this.atribuicoesOcorrencia.forEach(listAtibuicoes=> {
ocorrencia.atribuicoesDTO.forEach(x => {
if(listAtibuicoes.id == x.id){
this.formCadastro.get('inputAtribuicaoOcorrencia').setValue('checked');
}
});
});
CLASS TS2:或者下面的代码只检查一个 ID
this.formCadastro.patchValue({
inputAtribuicaoOcorrencia: 'checked',
});
解决方案
您需要使用[checked]
mat-checkbox 的属性
// example
<mat-checkbox
[value]="atribuicao.id"
[checked]="atribuicao.id" // This is what you need to add. If id is there, it will get checked
(change)="onChange(atribuicao, $event)"
>
<div style="white-space: pre-wrap;">
{{ atribuicao.descricao }}
</div>
</mat-checkbox>
推荐阅读
- compiler-errors - Gnuplot:拟合不同的曲线
- javascript - Functional way of re-using variables in a pipe
- fiddler - 如何在提琴手中只允许本地主机 url
- jquery - 如何检查应用程序的最后一个浏览器选项卡是否已关闭
- python - Recognizer.read('trainer/trainer.yml)
- python - 无法在 Windows 上运行 Python Django Oscar 沙盒网站
- java - 每当单击按钮时,多次在屏幕上放置相同的图像
- powerbi - Power BI 持续时间筛选器的小时分钟和秒
- python - 如何使用长时间运行的插槽保持 UI 响应
- amazon-web-services - 如何以 s3 为后端启动一个新的 terraform 项目