#angular-reactive-forms #angular11
Вопрос:
У меня есть реактивная форма с элементом управления формой, который имеет атрибут disabled, но когда я пытаюсь изменить его значение с помощью значения исправления, оно заканчивается на «неопределенный». введите код здесь
это форма, и я автоматически изменяю дату окончания, когда пользователь вводит дату начала и продолжительность, поэтому мне нужно, чтобы она была отключена:
this.newProcessForm = new FormGroup({
'start_date':new FormControl(null, Validators.required),
'end_date':new FormControl({value: null, disabled: true}, Validators.required),
'ex_duration':new FormControl(null, Validators.required),
})
здесь я изменяю значение :
const newEndDate = this.dCalc.SubTaskEndDateCalculation(this.newProcess).toLocaleDateString();
this.newProcessForm.patchValue({
'end_date' : newEndDate
})
и он отображается в шаблоне правильно, но когда я отправляю форму, значение этого поля возвращается неопределенным, как это img введите описание изображения здесь
Ответ №1:
Это сработало, используя атрибут только для чтения в шаблоне и удалив отключенный элемент управления формой.
таким образом, код является
this.newProcessForm = new FormGroup({
'start_date':new FormControl(null, Validators.required),
'end_date':new FormControl(null, Validators.required),
'ex_duration':new FormControl(null, Validators.required),
})
а в шаблоне мат-ввод
<input type="text" matInput id="end_date" formControlName="end_date" readonly>