2017-04-11 171 views
1

我有一个选择框。我正在使用ngFor显示可用的方法。但是,如果我只有一个方法,那么我需要将方法选择框默认为该值。不知道该怎么做。选择选项默认值为条件

   <select id='methods' class="icon" (change)="methodChange($event.target.value)" formControlName="method"> 
 
       <option value=""></option> 
 
       <option *ngFor="let method of methods" [value]="method.name">{{method.name}} </option> 
 
       <optgroup label="----"></optgroup> 
 
       <option value="addmethod">method</option> 
 
       <option value="editmethod">edit method</option> 
 
       </select>

回答

1

我会使用[(ngModel)]的选择值绑定到组件属性,并使用ngOnInit函数来设置该属性的组件负载时。

这是你的看法:

<select id='methods' class="icon" (change)="methodChange($event.target.value)" formControlName="method" [(ngModel)]="defaultval"> 
    <option value=""></option> 
    <option *ngFor="let method of methods" [value]="method.name">{{method.name}} </option> 
    <optgroup label="----"></optgroup> 
    <option value="addmethod">method</option> 
    <option value="editmethod">edit method</option> 
</select> 

然后在你的控制器:

defaultval = null; 

ngOnInit() { 
    if (this.methods.length == 1) { 
     this.defaultval = this.methods[0].name; 
    } 
} 
+0

我可以写defaultVal = null,则里面OnInit的? –

+0

this.defaultVal = null; – birwin