angular - 如何在`ngFor`循环中添加`checkbox`
问题描述
在我的ngFor
循环中,我添加了多个复选框,所有复选框都已添加。但表现得像radio
按钮。我一次只能选择一个复选框。这里有什么问题?有人帮我吗?
这是我的模板:
<div class="vas-obs vas-selected" *ngFor="let vas of vasDatas;let i=index;">
<div class="vas-obs-text checkbox-container">{{appProps[vas.title]}}
<input type="checkbox" checked="checked" name="vas{{i}}">
<span class="checkmark"></span>
</div>
<div class="vas-obs-value"><sup class="currency">THB</sup>{{vas.value}}</div>
<div class="horizantal-line-obs"></div>
<div class="vas-obs-text-inner">Lorem ipsum dolor sit amet,consectetur adip</div>
</div>
解决方案
<input type="checkbox" checked="checked" name="vas{{i}}">
选中的属性在所有输入之间共享。该字段需要是动态的,就像您的 name 属性一样。
您可以在创建时为每个 vas 对象添加一个字段
checked: boolean
然后,模型绑定到每个“vas”对象中的选中字段
这是一个展示这个想法的 stackblitz:https ://stackblitz.com/edit/angular-km8sew
基本上就是这样,只需替换您的对象字段等...:
<div class="vas-obs vas-selected" *ngFor="let vas of vasDatas; let i=index;">
<div class="vas-obs-text checkbox-container">
<input type="checkbox" [(ngModel)]="vas.checked" name="vas{{i}}"> {{vas.name}}
</div>
</div>
推荐阅读
- c# - 为什么我不能将 DataAnnotations KeyAttribute 用于复合键?
- c# - 如何在运行时从字符串变量执行/运行代码
- php - 如何在 [Symfony] 中使用 google 制作 CalendarChart
- javascript - 使用 JSON 将 MySQL 数据转换为 Highchart 的饼图
- firebase - Firebase 云函数值在 Dialogflow 实现中返回“null”
- python - 如何为熊猫数据框的每一行分配一个值?
- reactjs - Symfony4 中的 StreamedResponse
- android - kotlin 从文件读取到字节数组
- python - 我可以使用进程间通信在 64 位 python 中调用这个 32 位 dll 吗?
- javascript - 为什么这里数组中的多重赋值会这样发生?