Странное поведение <select>компонента с ngModel - PullRequest
0 голосов
/ 05 декабря 2018

Я разрабатываю веб-приложение с использованием Angular 6. Если я создаю пользовательский компонент, имитирующий HTML <select>, я не могу сделать так, чтобы у него было значение по умолчанию, когда на него ссылается другой компонент!Вы можете найти (простой) код приложения по следующей ссылке: stackblitz здесь

В этот вопрос Я спросил, как установить значение по умолчанию, когда ngModelприсутствует (selected атрибут <option> больше не работает!).Как видите, мой input-select пользовательский компонент инициализируется value (значение связано с ngModel).

value: any = 'default';

К сожалению, однако, компонент отображается так:

enter image description here

Как вы можете видеть на консоли, при печати нажмите, чтобы напечатать это:

enter image description here

Я хотел бы, чтобы эта ситуация не появлялась: я хотел бы, чтобы поле со списком было предварительно выбрано.Я не могу понять, что я не так с этим приложением.

1 Ответ

0 голосов
/ 05 декабря 2018

Вы использовали ngModel, но ничего не связывали, поэтому Angular не знает, с каким значением он должен связываться.Вы должны связать ngModel с property, который содержит значение по умолчанию.

<form #form="ngForm" (ngSubmit)="onSubmit(form.value)">
  <input-select
  name="name"
  [options]="my_options"
  [(ngModel)]="value"
  ></input-select>

  <input type="submit" value="Submit"/>
</form>

Рабочая копия здесь - https://stackblitz.com/edit/angular-qanpuu

...