Как получить json, соответствующий выпадающему списку, когда я активирую событие изменения?

#angular

#angular

Вопрос:

Как я могу получить json полностью? например, если я выберу второй вариант, я хотел бы получить:

 {"name":"goku", "ki":23232, "planet":"vegita"}
  

это мой код:

  <select  [(ngModel)]="dropdown" (change)="fn_change(item)">
   <option *ngFor="let item of aData" value="item.name">{{item.name}} 
   </option>
 </select>

aData=[
 {"name":"goku", "ki":23232, "planet":"vegita"},
 {"name":"vegeta", "ki":11, "planet":"vegita"},
 {"name":"krillin", "ki":5565, "planet":"earth"}        
]

 fn_change(item){
  alert(item);
  console.log(item);
}
  

как я могу это сделать?

https://stackblitz.com/edit/angular-y6crza?file=src/app/app.component.ts

Ответ №1:

Вы можете использовать ngValue вместо value
Попробуйте этот код

 <select  [(ngModel)]="dropdown" (change)="fn_change(dropdown)">
  <option *ngFor="let item of aData" [ngValue]="item">{{item.name}}</option>
</select>
  

Комментарии:

1. круто! Последний вопрос, как мне выбрать элемент по умолчанию, чтобы этот параметр не был пустым?

2. Просто установите значение по умолчанию в раскрывающуюся модель

3. да, нужно установить только значение по умолчанию для выпадающей модели.