Angular 5, typescript 2.7.1
当返回一个布尔值时,我似乎不能让复选框被选中,我试过了,item.check
返回true或false。
<tr class="even" *ngFor="let item of rows">
<input value="{{item.check}}" type="checkbox" checked="item.check">
当在input中写入checked时,该复选框总是被选中。当checked="false"
时,它不会被取消选中。
有没有更好的方法用Angular 特征来代替?比如ngModel或ngIf???
解决方案
<input type="checkbox" [checked]="item.check == 'true'">
8条答案
按热度按时间jm81lzqq1#
尝试:
checkout :How to Deal with Different Form Controls in Angular
r55awzrz2#
您可以使用此选项:
这里,record是当前行的模型,status是布尔值。
d8tt03nd3#
当你有一个对象的副本时,
[checked]
属性可能不起作用,在这种情况下,你可以这样使用(change)
:ldfqzlk84#
希望这能帮助一些人开发自定义样式的自定义复选框组件。这个解决方案也可以用于表单。
HTML格式
复选框.组件.ts
复选框.组件.scss
用法
外部表单
表单内部
bzzcjhmw5#
这是我的答案,
在行.model.ts中
以.html格式
英寸
行:行[] = [];
更新component.ts中的行
iyfjxgzm6#
你甚至可以选择使用
behaviourSubject
来利用可观测量的力量,这样你就可以从isChecked$
的可观测量开始一系列的React。在您的组件中. ts:
在模板中
mpgws1up7#
[checked]=“isChecked”此isChecked将是组件.ts文件中布尔类型的变量,即如果您在组件.ts中将b isChecked变量设置为true,则ts复选框将被选中,反之亦然。
6ovsh4lw8#
〈输入类型="复选框"[选中]="项目.选中== true"〉