Создание элементов управления формы во время выполнения с помощью FormArray - PullRequest
0 голосов
/ 11 июля 2020

Хотел попрактиковаться FormArray Итак, у меня есть это:

  myFrom: FormGroup;

  constructor(fb: FormBuilder) {
    this.myFrom = fb.group({
      firstName: ['', Validators.required],
      lastName: [''],
      address: fb.group({
        street: ['', Validators.required],
        city: [''],
        zip: [''],
      }),
      aliases: fb.array(
        [fb.control('')]
      )
    });
  }

  get aliases() {
    return this.myFrom.get('aliases') as FormArray;
  }

Итак, aliases - это тот, который во время выполнения использует FormArray. Поэтому я добавил метод, с помощью которого я могу подключиться к кнопке:

  addAnotherAlias() {
    this.aliases.push(this.myFrom.control(''));
  }

Но я делаю что-то не так, потому что ошибки control не являются свойством myForm, и я должен использовать controls вместо этого.

1 Ответ

0 голосов
/ 11 июля 2020

ОК обнаружил проблему. control является частью фабричных методов FormBuilder. поэтому я должен сказать:

  addAnotherAlias() {
    this.aliases.push(this.fb.control(''));
  }
...