我有一个选择输入:
<select id="duration" name="duration" class="form-control select-lg"
[(ngModel)]="championship.settings.fightDuration">
<option *ngFor="let duration of durations"
[selected]="championship.settings.fightDuration==duration">
{{ duration }} {{ championship.settings.fightDuration==duration }}
</option>
</select>
我的价值在championship.settings.fightDuration
我尝试用以下方式预先选择:
[selected]="championship.settings.fightDuration==duration"
我在选择文本中,我打印出这个条件的结果,并在与值匹配的元素上打印true
,所以它应该有效,但是select没有选择的值......
我错过了什么?
答案 0 :(得分:1)
如果仍然存在选择默认值的问题,请尝试此操作。
假设您要选择的选项的值为duration
。我假设此选项已经在items
数组中。
HTML
<select name="someName" [(ngModel)]="someModel">
<option *ngFor="let key of items" [value]="key.value">{{ key.label }}</option>
</select>
TS
class someComponent Implements OnInit {
someModel;
ngOnInit() {
this.someModel = 'duration';
this.items = [
{value: 'duration', label : 'Duration'},
{value: 'other', label : 'Other'},
{value: 'someOther', label : 'Some Other'}
];
}
提交时
在您的Submit函数内部,只需像这样调用即可获取所选值。
this.someModel
希望这对某人有帮助。
答案 1 :(得分:0)
您可以使用[ngValue]
,如下所示
<option *ngFor="let duration of durations" [ngValue]="duration">
{{ duration }} {{ championship.settings.fightDuration==duration }}
</option>