• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

使用* ngFor在Angular 2中不应用检查时的复选框

angular 来源:ed-tester 3次浏览

我有一个使用*ngFor构建的CheckBox的动态列表。无论何时手动选中框,模型都会更新,但如果模型预设为具有复选框,则不会在装入时检查框。使用* ngFor在Angular 2中不应用检查时的复选框

<form action="demo_form.asp" method="get"> 
    <div *ngFor="let d of data; let in=index; trackBy:trackByIndex"> 
    <input type="checkbox" 
      name="value" 
      [(ngModel)]="data[in].value" 
      [(checked)]="data[in].value" 
      (change)="checkChanged($event)"/> 
    {{d.text}} 
    </div>  
</form> 

我已经学会了你的ngFor所以这里使用内时原语需要我们trackBy是我trackByIndex:

public trackByIndex(index: number, data: TextValuePair): any { 
    return index; 
} 

下面是数据:

public data = [{ text: "Human", value: true }, { text: "Dog", value: false }] 

我需要的如果列表中的对象已将value设置为“true”,则在加载时检查复选框

===========解决方案如下:

发现问题。它在<form>内部变得困惑。删除<form>,你可以简化代码。

<div *ngFor="let d of data"> 
    <input type="checkbox" 
      name="data" 
      value="{{d.text}}" 
      [(ngModel)]="d.value" 
      (change)="checkChanged($event)"/> 
    {{d.text}} 
    </div> 

它应该工作


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)