Angular 6 FormArray отбрасывает пустые поля

Я использую Angular 6, у меня есть FormArray массив, как показано ниже

contactAddForm: FormGroup;
phone_numbers: FormArray;

ngOnInit() {

  this.contactAddForm = this.formBuilder.group({
    first_name: new FormControl('', [
      Validators.required
    ])
    phone_numbers: this.formBuilder.array([this.createPhoneNumberFormField()])
  });
}

createPhoneNumberFormField(): FormGroup {
  return this.formBuilder.group({
    phone: new FormControl(),
    primary: new FormControl()
  });
}

Вот phone текстовое поле в то время как primary это флажок, который отправляет true или же false,

Но иногда добавляются дополнительные поля динамически и, если они представлены пустыми, значения присваиваются phone а также primary поля пусты

  1. Как я могу отказаться от поля formArray с нулевым phone поле от подачи?
  2. Как установить primary по умолчанию ложь вместо нуля?

1 ответ

Вы можете установить значение по умолчанию FormControl объект, предоставляя его в качестве первого параметра его конструктору.

createPhoneNumberFormField(): FormGroup {
  return this.formBuilder.group({
    phone: new FormControl(),
    primary: new FormControl(false) // asigning default as false
  });
}

Если вы хотите удалить null поля перед отправкой, то вам придется пройти через form controls и удалите их вручную.

Другие вопросы по тегам