@microf

Как применить formControlName к input?

Добрый день. Вернулся тут к ангулару и вспомнил, что никак не разобрался с ControlValueAccessor.

Ссылка

Кастомный компонент <ui-input-field> генерит вот такой код, в котором все ng-valid ng-pristin применяются непосредственно к компоненту, а не к input
<ui-input-field _ngcontent-c8="" formcontrolname="email" _nghost-c9="" ng-reflect-name="email" class="ng-untouched ng-pristine ng-valid">
<input _ngcontent-c9="">
<span _ngcontent-c9="" class="bar"></span>
<label _ngcontent-c9=""></label>
</ui-input-field>

Как понимаю, по этой причине и не работает переброска formcontrolname в компонент (или я ошибаюсь).
Как применить это именно к инпуту?

writeValue(value) {
    if (!value || typeof value !== 'string') {
      console.log('not value');
      return;
    }
  }


  onChange: any = () => {
  }
  onTouched: any = () => {
  }

  registerOnChange(fn) {
    this.onChange(fn);
  }
  registerOnTouched(fn) {
    this.onTouched(fn);
  }


Ссылка
  • Вопрос задан
  • 112 просмотров
Решения вопроса 1
StivinKing
@StivinKing
На основе вашего примера - ссылка. Пример с ControlValueAccessor и добавил пример с FromGroup (файл input-control.component.ts)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы