Angular 如何获取选项中的选定项

Angular 如何获取选项中的选定项,angular,typescript,angular-forms,Angular,Typescript,Angular Forms,我有一个下拉列表,其中填充了ObjectA类型的某些项 item.component.html: selectedItem : ObjectA; ... onChange() { this.selectedItem = this.factorForm.controls['itemsCtl'].value; } 项目列表: {{item.label} 在我的反应式表单中,我需要选择的项目,但当我在互联网上搜索了很多时,我发现了用于我目的的代码: item.component.ts:

我有一个
下拉列表
,其中填充了
ObjectA
类型的某些项

item.component.html:

selectedItem : ObjectA;
...
onChange()
{  
    this.selectedItem = this.factorForm.controls['itemsCtl'].value;
}
项目列表:
{{item.label}
在我的反应式表单中,我需要选择的项目,但当我在互联网上搜索了很多时,我发现了用于我目的的代码:

item.component.ts:

selectedItem : ObjectA;
...
onChange()
{  
    this.selectedItem = this.factorForm.controls['itemsCtl'].value;
}
但是,当我获得所选项目时,它是作为
[object object]
,而我需要选择项目作为
ObjectA
。如何将项目选择为
ObjectA
,甚至如何将
[object object]
转换为
ObjectA


使用
Angular
5.0.1.

尝试使用ngValue指令而不是value

    <option  *ngFor="let item of itemList"  [ngValue]="item"   >{{item.label}}</option>
{{item.label}

我真的不确定(项目列表)或(对象A)的结构是什么

为此,我需要更多的信息

如果您的方法不起作用,请尝试以下方法:

<label>items list:
<select formControlName="itemsCtl" (change)="onChange()" [(ngModel)]="someVar">
    <option *ngFor="let item of itemList" [value]="item">{{item.label}}</option>
</select>
看看这会得到什么输出


希望所有这些都有帮助

您的
ObjectA
位于“typescriptland”中<代码>[object object]是(据我所知)JavaScript语言。这里没有矛盾。那么我如何将[object]转换为ObjectA呢@AMITW您在哪里确切地看到了
[object object]
输出?当我运行console.log(this.factorForm.controls['itemsCtl'].value)时,请您显示一下(itemList)中到底有什么内容;我看到输出是[object object]@serpent5非常感谢,现在我选择editem作为ObjectA@Alexander Poshtaruk的一种类型