2017-10-10 116 views
1

我是Angular2的新手,我有一个收音机组,我试图用[(ngModel)]绑定到实体person.testBoolean,以便我可以保存它在数据库中。我想设置一个默认值作为选择,我已经看到了一些例子,发现他们将默认值设置为[(ngModel)],但在我的情况下,我想将它绑定到我的实体,因此我不能使用[(ngModel)] 。任何人都可以提供其他选择。 checked = idx不起作用。Angular2如何设置单选按钮与默认值检查

<div class="form-group"> 
    <label for="radioboolean">Boolean: </label> 
    <div *ngFor="let entry of entries; let idx = index" class="radio-inline" > 
     <input type="radio" [(ngModel)]="person.testBoolean" name="radiogroup" [checked]="idx === 1" [value]="entry.id" />{{ entry.description }} 
    </div> 
</div> 

TS码:

entries = [ 
       {id: 1, description: 'True' }, 
       {id: 2,description: 'False'}, 
       {id: 3,description: 'Undefined'} 
      ]; 

人是我的实体:

export interface IPerson { 

    id: string; 
    name: string; 
    testNumber: number | null; 
    testDatetime: Date | null; 
    testBoolean: boolean | null; 
    // Refs to parent entities 
    team: ITeam; 
    teamId: string; 

}; 
+0

是的,这是正确的我们可以直接使用id列但它不起作用:-(,default单选按钮仍然没有被选中/检查 –

回答

2

您可以使用进入这样的ID:[checked]="entry.id === 1"

<div *ngFor="let entry of entries; let idx = index" class="radio-inline" > 
       <input type="radio" [(ngModel)]="person.testBoolean" name="radiogroup" [checked]="entry.id === 1" [value]="entry.id" />{{ entry.description }} 
      </div> 
+0

是的,这是正确的,我们可以直接使用ID列,但它没有工作:-(,默认单选按钮仍未被选中/检查 –

+0

试过'[checked] =“entry.id = ==默认“'?组件中默认= this.default。 – Swoox

+0

嗨Swoox,谢谢,我如上所述,但由于某种原因“this.default”设置为undefined,因此未选中默认单选按钮。 打字稿文件 'default:3;' 'entries = [{id:1,description:'True'},{id:2,description:'False'},' '{id:3,description: 'Undefined'}]; ''[checked] =“entry.id === default”' –

相关问题