如果在 Angular2 中满足条件,则在下拉列表中设置所选属性

Set the selected attribute in a dropdown list if the condition is met in Angular2

我的项目中有 2 个对象:一个 company 和一个 user。我有一个表单,用户可以在其中更新他的个人资料。他可以更新的内容之一是国家。现在显示我使用下拉列表的国家。

我想在 countryname 等于 user 的实际 country 的选项中设置 selected 属性. (country.name==user.country)

这是我试过的方法,但似乎不起作用。

<select>
    <option *ngFor="#c of countries" [ngStyle]="setStyles()" [ngValue]="c">{{c.name}}</option>          
</select>

setStyles(){
    let styles;
    if (this.companies[i].name == this.user.country ) {
        styles = {
            'selected'
        } 
    return styles;
}

我会尝试以下方法:

<select>
  <option *ngFor="#c of countries"
       [attr.selected]="c.name == user.country ? true : null" 
       [ngValue]="c">
    {{c.name}}
  </option>
</select>

我认为这是您需要的属性,而不是样式。