Значение формы angular2 при установке и отключении данных без привязки
Вот мой совет обновить форму, если пользователь доступен.
if (this.user.landmark) this.uploadForm.controls['landmark'].setValue(this.user.landmark || '');
//if (this.user.landmark) this.uploadForm.get('landmark').disable({ onlySelf: true });
Если я раскомментирую отключить и нажму на кнопку отправить, поле ориентира не будет сгенерировано в выходной json.
Например
Без отключения
console.log(this.uploadForm.value) дает
{
username:"dummyUser",
landmark:"Nearby EB Office"
}
С отключить
console.log(this.uploadForm.value) дает
{
username:"dummyUser"
}
1 ответ
FormGroup.value
не включает элементы управления, которые отключены
it('should ignore disabled controls when serializing value in a group', () => {
const c = new FormControl('one');
const c2 = new FormControl('two');
const g = new FormGroup({one: c, two: c2});
expect(g.value).toEqual({one: 'one', two: 'two'});
c.disable();
expect(g.value).toEqual({two: 'two'});
c.enable();
expect(g.value).toEqual({one: 'one', two: 'two'});
});
использование this.uploadForm.getRawValue()
вместо. Смотрите также документ
Если вы хотите включить все значения независимо от статуса отключенного, используйте этот метод. В противном случае свойство value - лучший способ получить значение группы.