ngValue игнорируется при использовании внутри ng-содержимого в Angular - PullRequest
0 голосов
/ 05 июня 2018

Я создал пользовательский элемент управления, скажем my-select-input в Angular, который оборачивает исходный выбор select.Шаблон выглядит следующим образом.

<div class="select-container">
<select
    class="form-control"
    [ngModel]="value"
    (ngModelChange)="value$.next($event)">
    <ng-content></ng-content>
  </select>
</div>

Компонент my-select-input выглядит следующим образом.

ngOnInit() {
    this.value$ = new BehaviorSubject(this._value);
    this.valueSubscription = this.value$.subscribe((value) => {
      this._value = value;
      this.onChangeCallback(this._value);
    });
  }

Компонент также расширяет класс, который реализует controlvalueaccessor.

Когда я пытаюсь использовать компонент следующим образом:

<my-select-input formControlName="select">
      <option *ngFor="let item of selectValues" [ngValue]="item">{{item.label}}</option>
</my-select-input>

ngValue полностью игнорируется, и полученное значение является текстом между тегом параметров.Я использую ngValue для хранения объекта внутри него.Не уверен, что здесь проблема.Любая помощь приветствуется.

Контроль отлично работает с атрибутом значения вместо ngValue.

Аналогичная проблема - https://github.com/angular/angular/issues/22374

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...