Выбор формы Angular 4 может отображать значение по умолчанию

    `<select class="form-control" id="customer" required [(ngModel)]="application.customer" name="customer" #customer="ngModel">
      <option *ngFor="let customer of customers" [ngValue]="customer">
        {{customer.id}} {{customer.first_name}} {{customer.last_name}}</option>
    </select>`

application.customer и customer являются типами объектов Customer. Значение по умолчанию не устанавливается, когда приложение заполняется в компоненте. Другие поля ввода текста, такие как application.vehicle_make, могут быть загружены без каких-либо проблем. Кто-нибудь знает, почему значение по умолчанию из приложения не выбрано? Я использую последнюю версию angular 5.


person user3817154    schedule 21.12.2017    source источник


Ответы (2)


Свяжите его с идентификатором вашего конкретного использования!

<select class="form-control" id="customer" required [(ngModel)]="application.customer" name="customer" #customer="ngModel"> <option *ngFor="let customer of customers" [value]="customer.id"> {{customer.id}} {{customer.first_name}} {{customer.last_name}}</option> </select>

Теперь [ngValue] преобразуется в [value]

person Aneri Vala    schedule 21.12.2017

Скорее всего, нет customer of customers, равного application.customer. Если вы хотите выбрать значение по умолчанию, вам нужно добавить этот атрибут к одному из элементов:

  <option *ngFor="let customer of customers; let first = first;" [ngValue]="customer" selected="first">
    {{customer.id}} {{customer.first_name}} {{customer.last_name}}</option>

Это выберет первый элемент в массиве customers. Вы также можете использовать let i = index; в *ngFor для выбора определенного индекса или даже использовать let last = last. Это установит application.customer равным выбранному customer of customers.

person Z. Bagley    schedule 21.12.2017