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
поля пусты
- Как я могу отказаться от поля formArray с нулевым
phone
поле от подачи? - Как установить
primary
по умолчанию ложь вместо нуля?
1 ответ
Вы можете установить значение по умолчанию FormControl
объект, предоставляя его в качестве первого параметра его конструктору.
createPhoneNumberFormField(): FormGroup {
return this.formBuilder.group({
phone: new FormControl(),
primary: new FormControl(false) // asigning default as false
});
}
Если вы хотите удалить null
поля перед отправкой, то вам придется пройти через form controls
и удалите их вручную.