У меня есть этот ответ JSON от API:
[
{
"id": 1,
"name": "Juan",
"edad": 20
},
{
"id": 2,
"nombre": "Pepe",
"edad": 26
},
...
]
Я хочу заполнить свой select2 (используя lib ng-select2) этим ответом, но показывая nombre и edad, например: Juan - 20
Я получаю ответ правильно, но не могу прикрепить и показать его в select2, (я могу правильно воспроизвести примеры этой библиотеки, но это с жестко закодированными данными).
это моя попытка. в моем персон.сервисе
getPersons(): Observable<Array<Select2OptionData>> {
return this.http.get<Array<Select2OptionData>>(this.API_URL);
}
persons.component.ts
export class PersonsComponent implements OnInit {
public exampleData: Array<Select2OptionData>;
constructor(public personsService: PersonsService) {}
ngOnInit() { this.getPersons}
getPersons(): void {
this.personsService.getPersons().subscribe(
persons => {this.exampleData = persons;
console.log(persons);} // the information shows correctly in console.
)
}
persons.component.html
<ng-select2 [data]="exampleData"
[(ngModel)]="value">
</ng-select2>
результат: select2 показывает 2 пустых строки, но без информации.
Я знаю, что проблема связана с интерфейсом Select2OptionData (он использует id, текст), но я новичок в этом вопросе, так как я могу проанализировать или адаптировать свой ответ на Select2OptionData? я должен сделать это в сервисе или в component.ts ?? надеюсь, ты сможешь мне помочь.