如果在 Angular2 中满足条件,则在下拉列表中设置所选属性
Set the selected attribute in a dropdown list if the condition is met in Angular2
我的项目中有 2 个对象:一个 company
和一个 user
。我有一个表单,用户可以在其中更新他的个人资料。他可以更新的内容之一是国家。现在显示我使用下拉列表的国家。
我想在 country
的 name
等于 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>
我认为这是您需要的属性,而不是样式。
我的项目中有 2 个对象:一个 company
和一个 user
。我有一个表单,用户可以在其中更新他的个人资料。他可以更新的内容之一是国家。现在显示我使用下拉列表的国家。
我想在 country
的 name
等于 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>
我认为这是您需要的属性,而不是样式。