Невозможно создать свойство 'validator' для строки 'input1' - PullRequest
0 голосов
/ 08 мая 2018

Таким образом, вместо того, чтобы иметь вложенную группу FormGroup в том же компоненте, я хочу иметь дочерний компонент, который я могу интегрировать в родительский компонент. Должны ли элементы управления дочернего элемента быть добавлены в FormBuilder родительского элемента? И как? Я хочу, чтобы в определении группы FormBuilder была указана вся модель, включая дочерние поля.

Я добавил дочерние элементы управления в FormBuilder (как показано ниже, КАК ЕСЛИ они были определены в родительском элементе), и я получаю ошибку:

Невозможно создать свойство 'validator' для строки 'input1'

Ниже приведены четыре файла:

parent.ts

this.myForm = formBuilder.group({
       'input1': [null, [Validators.required, Validators.minLength(3)]],
        'myNestedGroup': this.formBuilder.group({
        'input2': [{ value: '', disabled: false }]      ///? correct
      })
    }
  );

parent.html

<child-selector>
</child-selector>

child.ts

import { Component, OnInit, Input } from '@angular/core';
import { FormGroup, AbstractControl, FormBuilder, Validators } from '@angular/forms';

@Component({
  selector: 'child-selector',
  templateUrl: './child-selector.html'
})
export class ChildComponent implements OnInit {

  myInput = 'input2';
  formGroup = 'myNestedGroup';

  constructor() { }

  ngOnInit() {
  }

}

child.html

<div [formGroup]="formGroup" >
    <input type="text" [formControl] = "myInput" />
</div>

1 Ответ

0 голосов
/ 08 мая 2018

В formBuilder input1, myNestedgroup и input2 не нужны t correct the don t ''

this.myForm = formBuilder.group({
           input1: [null, [Validators.required,  Validators.minLength(3)]],
            myNestedGroup: this.formBuilder.group({
            input2: [{ value: '', disabled: false }]      ///? correct
          })
        }
      );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...