Показать список в раскрывающемся списке

Я хочу отображать список в раскрывающемся списке с помощью Angular. Я попытался реализовать это:

Машинопись:

Конструктор

export class Merchant {
  constructor(
    public id: string,
    public name: string
  ) {}
}

Составная часть:

import {Merchant} from "../domain/merchant";
import {MerchantService} from "../service/merchant.service";

@Component({
  selector: 'app-terminal',
  templateUrl: './terminal.component.html',
  styleUrls: ['./terminal.component.scss']
})
export class TerminalComponent implements OnInit {    
 . ..........
 constructor(private terminalService: TerminalService,
              private merchantService: MerchantService,
              private router: Router,
              private route: ActivatedRoute) {
  }      
  merchants: Merchant[];     
  ngOnInit() {       
    this.route.params.pipe(
      flatMap(params => {
        if (params['id']) {
          return this.terminalService.get(params['id']);
        } else {
          return of(null);
        }
      })
    ......   
  }    
}

HTML код:

<div class="form-group type">
    <div class="input-group-prepend">
      <label for="type">Merchant</label>
    </div>
    <select class="custom-select" name="type" [(ngModel)]="terminal" id="type" required>
      <option selected></option>
      <option [value]="type" *ngFor="let merchant of merchants">{{merchant.name}}</option>
    </select>
  </div>

Я получаю пустой раскрывающийся список. Вы хоть представляете, в чем я ошибаюсь?

Есть ли у вас какое-либо значение в массиве merchants?

Sarthak Aggarwal 31.10.2018 13:24

Как я могу проверить?

Peter Penzov 31.10.2018 13:26

Куда вы добавляете элементы в массив merchants?

Sunil Singh 31.10.2018 13:26

Извините, но я новичок в этой технологии?

Peter Penzov 31.10.2018 13:26

@SunilSingh это единственный код. Дополнительно могу показать сервис: pastebin.com/SLA04ejw

Peter Penzov 31.10.2018 13:29

вы повторяете вариант в пустом массиве продавцов, а также он не инициализирован, поэтому в вашем выборе нет элемента. для е, г: merchants: Array<Merchant> = [{name:'test' , id:'test'}];

Fateme Fazli 31.10.2018 13:30

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

Peter Penzov 31.10.2018 13:32
0
7
35
1

Ответы 1

вы повторяете вариант в пустом массиве продавцов, а также он не инициализирован, поэтому в вашем выборе нет элемента. для e, g попробуйте:

merchants: Array<Merchant> = [{name:'test' , id:'test'}];

Другие вопросы по теме