angular - 未根据 ngFor 循环中的状态检查复选框
问题描述
我有以下方式的一些价值观:
{
"filter_value": "Pending",
"filter_level": "DASHBOARD",
"checked": "false"
}, {
"filter_value": "Partially Settled",
"filter_level": "DASHBOARD",
"checked": "true"
}
但即使选中标志中的值为假,复选框也会自动选中。我尝试使用[ngModelOptions],[checked]但它们都不起作用。
<tr>
<td *ngFor="let TradeType of filterAndSideLinkData.TRADE_TYPE | slice: 4:8; let i = index ">
<label>
<input name="tt_{{i}}" class="minimal" [(ngModel)]="TradeType.checked" (ngModelChange)="onSelectFilter(TradeType)" type="checkbox"/>
<span class="label-text">{{ TradeType.filter_value }}</span>
</label>
</td>
</tr>
解决方案
这取决于您的对象必须是这样的:
{
"filter_value": "Pending",
"filter_level": "DASHBOARD",
"checked": false # boolean not string
}, {
"filter_value": "Partially Settled",
"filter_level": "DASHBOARD",
"checked": true # boolean not string
}
演示:
<hello name="{{ name }}"></hello>
<p>
Start editing to see some magic happen :)
</p>
<tr>
<td *ngFor="let TradeType of TRADE_TYPE ; let i = index ">
<label>
<input name="tt_{{i}}" class="minimal" [(ngModel)]
="TradeType.checked" checked="TradeType.checked"
(ngModelChange)="onSelectFilter(TradeType)" type="checkbox"/>
<span class="label-text">{{ TradeType.filter_value }}</span>
</label>
</td>
</tr>
和 ts:
import { Component, VERSION } from '@angular/core';
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
name = 'Angular ' + VERSION.major;
TRADE_TYPE = [
{
filter_value: 'Pending',
filter_level: 'DASHBOARD',
checked: false
},
{
filter_value: 'Partially Settled',
filter_level: 'DASHBOARD',
checked: true
}
];
onSelectFilter(TradeType: any) {
return true;
}
}
推荐阅读
- python - 根据另一个一维数组的值访问二维数组索引?
- sql - 优化 SQL 交叉连接,检查其他列中是否有任何数组值
- reactjs - 如何在 React js 中通过 id 过滤组件
- sql - 拒绝向所有用户和角色更新列
- java - 如何按 id 降序对具有 id 属性的类的列表进行排序?
- ios - 一些带有 CAGradientLayer 的视图不渲染渐变
- c++ - 为什么某些看起来像普通类型定义的表达式意外地变成了模板声明?
- setuptools - 尝试在依赖于其他 pypi 发行版的 python 中发布 pypi 发行版
- php - Github 明星在 packagegist 中没有正确显示
- swift - 用于生产的 ApplePay 集成