Получите доступ к FormControl из пользовательского компонента формы в Angular

у меня есть пользовательский компонент управления формой в моем угловом приложении, который реализует ControlValueAccessor интерфейс.

тем не менее, я хочу получить доступ к FormControl экземпляр, связанный с моим компонентом. Я использую реактивные формы с FormBuilder и обеспечение контроля формы с помощью .

Итак, как мне получить доступ к FormControl экземпляр изнутри моего пользовательского компонента формы?

3 ответов


это решение было рождено из обсуждение в угловом репозитории. Пожалуйста, не забудьте прочитать его или даже лучше принять участие, если вы заинтересованы в этой проблеме.


Я изучил код


используя formControlName как входной параметр не работает при привязке через


поскольку @Ritesh уже написал в комментарии, Вы можете передать управление формой в качестве входной привязки:

<my-custom-form-component [control]="myForm.get('myField')" formControlName="myField">
</my-custom-form-component>

и затем вы можете получить экземпляр управления формой внутри пользовательского компонента формы, например:

@Input() control: FormControl;