ngValue игнорируется при использовании внутри ng-содержимого в Angular
Я создал пользовательский элемент управления, скажем, 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