Угловой 7: Выберите значение параметра разбирается на «[индекс]: [значение]» - PullRequest
1 голос
/ 12 марта 2019

Я использую Angular 7. И когда я пытаюсь связать значение select с переменной, значение всегда разбирается на что-то вроде "0: 25", "1: 50", "2: 75".

Пример кода ниже предназначен для выбора размера страницы для пагинатора.Где pageSizeOptions = [25, 50, 75, 100].Ожидаемое поведение состоит в том, что pageSize, связанный с [(ngModel)], должен содержать тип number, а не строку.Использование [value] вернет строковую версию значения, а ngValue вернет формат "[index]: [value]".

    <select
      class="form-control"
      (change)="onSelectPageSize($event.target.value)"
      [ngModel]="pageSize"
    >

      <option *ngFor="let size of pageSizeOptions; let i = index" [ngValue]="size">
        {{ size }}
      </option>
    </select>

1 Ответ

0 голосов
/ 12 марта 2019

Проблема в том, что вы используете ngValue вместо атрибута значения.

<option *ngFor="let size of pageSizeOptions; let i = index" [value]="size">
    {{ size }}
  </option>

Разница между ngvalue и атрибутом значения заключается в том, что значением всегда является строка, где в ngValue вы можете передавать объект.

См. Этот ответ для получения дополнительной информации Различия между значением и значением ngValue в угловых значениях 5

...