我遇到过多种解决方案,但从我的角度来看并没有找到任何感兴趣的东西。
我有一个组件:
<select [(ngModel)]="languages" [ngModelOptions]="{standalone: true}">
<option *ngFor="let language of languages">{{language.languageName}}</option>
</select>
我有打字稿文件:
getCountries(): void{
this.country.find({}).subscribe((data)=>{
this.countries = data;
console.log(data);}, err =>{ console.log(err);});
在控制台中呈现以下json:
我不知道为什么我不能选择任何值,因为我也使用[value]
进行了测试。
答案 0 :(得分:0)
您需要设置name
属性并移除[ngModelOptions]="{standalone: true}"
。
每个输入元素都有一个
name
属性,Angular Forms需要该属性才能使用表单注册控件。
您不能做的是将单个属性绑定到多值类型变量。如果要选择多个值,则应使用
<select multiple name="selectedLanguages" [(ngModel)]="selectedLanguages">
<option *ngFor="let language of languages" [value]="language.languageCode">
{{language.languageName}}
</option>
</select>
答案 1 :(得分:0)
将language
绑定到ngValue
:
<select [(ngModel)]="languages" [ngModelOptions]="{standalone: true}">
<option *ngFor="let language of languages" [ngValue]="language">{{language.languageName}}</option>
</select>