Управление элементами управления формы дочернего компонента из родительского компонента: реактивная форма - PullRequest
0 голосов
/ 29 сентября 2019

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

{
  id: ...
  someOtherKey:...., 
  subload: [
    {pick: 1,name:...},{drop:1, name:...}, {crossing:1, name:....},
    {pick: 1,name:...},{drop:1, name:...}, {crossing:1, name:....}
  }
}

Я могу создать вышеуказанную структуру, используя реактивные формы и controlvalueaccesors in angular.

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

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

this.loadAdvanceForm = this.fb.group({
      subloads: this.fb.array([this.loadSubloadDetails()]),
      billing: ['', Validators.required],
    });


loadSubloadDetails() {
   return this.fb.group({
      load_display_no: [''],
      pickup: this.fb.group({}),
      drop: this.fb.group({}),
      crossing: this.fb.group({})
     });
}

В компоненте выбора есть форма выбора

this.pick = this.fb.group({
        pointId: [],
        id: [''],
        trailerSpecial: [''],
        trailer: [],
        description: [''],
        carrierCode: [''],
      });

Вопрос в том, что я хочу получить доступ к дочерним элементам управления (элемент управления pick) из родительского компонента, а также к кому и скрыть его.

Прямо сейчас, если я получу значение, но я не получу элементы управления.

this.loadAdvanceForm.get('subloads') as FormArray;
item.controls.forEach((element: FormGroup) => {
   // element.controls is empty object. 
 })

есть ли способ получить доступ к дочерним компонентам форм управления в родительском контроллере.

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