我正在尝试在我选择的DropDownList上使用ngFor
。已加载应该在下拉列表中的选项。
你在这里看到的代码:
<div class="column small-12 large-2">
<label class="sbw_light">Title:</label><br />
<select [(ngModel)]="passenger.Title">
<option *ngFor="#title of titleArray" [value]="title.Value">{{title.Text}}</option>
</select>
</div>
根据此代码,它会生成一个看起来像这个图像的下拉列表。
问题是我希望将其中一个“先生或夫人”设置为基于passenger.Title
的活跃版,这是一个字符串“Mr”或“Mrs”。
任何人都可以帮忙看看我在这里做错了什么?
这应该工作
<option *ngFor="let title of titleArray"
[value]="title.Value"
[attr.selected]="passenger.Title==title.Text ? true : null">
{{title.Text}}
</option>
我不确定attr.
部分是否必要。
在this demo fiddle中查看,继续并更改代码中的下拉列表或默认值。
使用等于passenger.Title
的值设置title.Value
应该有效。
视图:
<select [(ngModel)]="passenger.Title">
<option *ngFor="let title of titleArray" [value]="title.Value">
{{title.Text}}
</option>
</select>
使用TypeScript:
class Passenger {
constructor(public Title: string) { };
}
class ValueAndText {
constructor(public Value: string, public Text: string) { }
}
...
export class AppComponent {
passenger: Passenger = new Passenger("Lord");
titleArray: ValueAndText[] = [new ValueAndText("Mister", "Mister-Text"),
new ValueAndText("Lord", "Lord-Text")];
}