Угловой элемент управления настраиваемой формой - как получить доступ к родительскому экземпляру ngForm, если он есть

У меня есть настраиваемый элемент управления, использующий ControlValueAccessor, и мой элемент управления находится в форме с множеством элементов управления вводом материалов.

В 3 случаях входные материалы имеют красное подчеркивание.

  1. элемент управления был затронут и недействителен
  2. контроль грязный и недействительный
  3. форма, содержащая элемент управления, была отправлена, и элемент управления недействителен

Я хочу имитировать это поведение в своем настраиваемом элементе управления. Я использовал инжектор, чтобы получить ссылку на NgControl, которая позволяет мне определить, был ли элемент затронут / загрязнен и недействителен. Но я не могу понять, как получить доступ к родительскому NgForm обычным способом, чтобы определить, отправлен ли он.

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

Как мне получить состояние отправленных родительских форм?


person Josh    schedule 22.05.2020    source источник


Ответы (1)


В итоге я нашел его в инжекторе, пришлось схватить FormGroupDirective

const formgroup: FormGroupDirective = this.injector.get(FormGroupDirective, null);

У директивы есть отправленное свойство, которое я смог использовать

person Josh    schedule 22.05.2020