实现 css 复选框不适用于模型变量
materialize css checkbox not working with model variable
这是html
<div class="checkbox checkbox-circle">
<label>
<input type="checkbox" [attr.checked]="isSelected ? true : null" class="filled-in"
(change)="rowToggleSelection(row,$event,i)" />
<span></span>
</label>
</div>
有一个按钮可以将 true/false
设置为 isSelected
,在我通过单击复选框本身更改复选框的值之前它工作正常。单击复选框后,它会从按钮停止工作。
Materialize checkbox 使用 checked
而不是 attr.checked
将其标记为已选中。
打字稿文件
// items to use as checkbox
public items = [
{
name: "first",
isSelected: false
},
{
name: "second",
isSelected: true
}
];
// toggle the checkbox
toggleCheckbox(item) {
item.isSelected=!item.isSelected;
}
模板文件
<form *ngFor="let item of items" class="checkbox checkbox-circle">
<label>
<input type="checkbox" [checked]="item.isSelected" class="filled-in"
(change)="toggleCheckbox(item)" />
<span>{{item.name}}</span>
</label>
</form>
使用 ngModel,了解如何在 .ts 中不再需要任何东西
<form *ngFor="let item of items" class="checkbox checkbox-circle">
<label>
<input name="ck" type="checkbox" [(ngModel)]="item.isSelected" class="filled-in"
/>
<span>{{item.name}}</span>
</label>
</form>
<pre>
{{items|json}}
</pre>
对我来说没有任何效果,所以我使用 material 图标来实现同样的效果
<!-- checked -->
<i class="material-icons label-icon active" *ngIf="isSelected">radio_button_checked</i>
<!-- un-checked -->
<i class="material-icons label-icon" *ngIf="!isSelected">radio_button_unchecked</i>
还有一些css
.label-icon {
font-size: 15px;
&.active {
color: $color-active;
}
}
一切正常。
这是html
<div class="checkbox checkbox-circle">
<label>
<input type="checkbox" [attr.checked]="isSelected ? true : null" class="filled-in"
(change)="rowToggleSelection(row,$event,i)" />
<span></span>
</label>
</div>
有一个按钮可以将 true/false
设置为 isSelected
,在我通过单击复选框本身更改复选框的值之前它工作正常。单击复选框后,它会从按钮停止工作。
Materialize checkbox 使用 checked
而不是 attr.checked
将其标记为已选中。
打字稿文件
// items to use as checkbox
public items = [
{
name: "first",
isSelected: false
},
{
name: "second",
isSelected: true
}
];
// toggle the checkbox
toggleCheckbox(item) {
item.isSelected=!item.isSelected;
}
模板文件
<form *ngFor="let item of items" class="checkbox checkbox-circle">
<label>
<input type="checkbox" [checked]="item.isSelected" class="filled-in"
(change)="toggleCheckbox(item)" />
<span>{{item.name}}</span>
</label>
</form>
使用 ngModel,了解如何在 .ts 中不再需要任何东西
<form *ngFor="let item of items" class="checkbox checkbox-circle">
<label>
<input name="ck" type="checkbox" [(ngModel)]="item.isSelected" class="filled-in"
/>
<span>{{item.name}}</span>
</label>
</form>
<pre>
{{items|json}}
</pre>
对我来说没有任何效果,所以我使用 material 图标来实现同样的效果
<!-- checked -->
<i class="material-icons label-icon active" *ngIf="isSelected">radio_button_checked</i>
<!-- un-checked -->
<i class="material-icons label-icon" *ngIf="!isSelected">radio_button_unchecked</i>
还有一些css
.label-icon {
font-size: 15px;
&.active {
color: $color-active;
}
}
一切正常。