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

问题描述 投票:0回答:2

我的项目中有 2 个对象:一个

company
和一个
user
。我有一个表单,用户可以在其中更新他的个人资料。他可以更新的内容之一就是国家。现在为了显示国家/地区,我使用下拉列表。

我想在选项中设置

selected
属性,其中
name
country
等于
country
的实际
user
。 (
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;
}
forms drop-down-menu angular ng-style
2个回答
9
投票

我会尝试以下方法:

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

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


0
投票

这就是我解决的方法:

<option *ngFor="let option of checklistOptions" [selected]="option === mock.value" [ngValue]="option">{{ option }}</option>
© www.soinside.com 2019 - 2024. All rights reserved.