Angular 6 FormArray отбрасывает пустые поля - PullRequest
0 голосов
/ 01 сентября 2018

Я использую 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, равны null .

  1. Как отменить отправку поля formArray с полем null phone от отправки?
  2. Как установить primary по умолчанию false вместо null ?

1 Ответ

0 голосов
/ 02 сентября 2018

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

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

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

...