【发布时间】:2019-06-17 19:59:20
【问题描述】:
我有一个 Angular 5 项目。我有一个由数组填充的下拉框。我正在从下拉列表中选择一个选项并打印它。但是我可以看到它正在打印未预期的值。
在我的组件类中,我有一个库存数组
inventories: FlightInventory[] = [];
这是我定义 FlightInventory 的 model.ts
export enum FlightInventoryCode {
SMS = 'SMS',
MMS = 'MMS',
EMAIL = 'EMAIL',
MCN_VM = 'MCN_VM',
PBE = 'PBE',
PTU = 'PTU'
}
export enum FlightInventoryType {
NUMBER = 'NUMBER'
}
export interface FlightInventory {
id: string;
label: string;
code: FlightInventoryCode;
type: FlightInventoryType;
rate: number;
isTagOn: boolean;
allowSmsFallback: boolean;
}
在我的模板 html 中
<select formControlName="inventory" [compareWith]="compareInventory" (change)="inventoryChanged($event.target.value);">
<option value="" disabled>{{ 'PLACEHOLDERS.SELECT_INVENTORY' | translate }}</option>
<option *ngFor="let inventory of inventories" [ngValue]="inventory">{{ inventory.label }}</option>
</select>
在我的组件类中,我试图打印选择的选项。
inventoryChanged(event){
console.log(event);
}
目前我的选择框中只有两个项目。所以当我选择项目时,inventoryChanged 会被触发。但是输出如下。
1: Object
2: Object
但是我希望打印一个 FlightInventory 对象。知道这里有什么问题吗? 感谢任何帮助
【问题讨论】:
-
尝试记录表单值
console.log(this.myForm.get('inventory').value)吗? -
是的,效果很好......非常感谢......非常棒......知道为什么 console.log(event); } 不打印???
-
我不知道,它可能来自事件本身,没有minimal reproducible example 我真的不能告诉你。我正在发布一个答案,以便您可以关闭您的问题!
标签: angular