Когда я пытаюсь использовать метод отключения для formGroup в моем приложении Angular 6, я получаю эту ошибку в консоли браузера:
TypeError: this.personForm.disable не является функцией
Хотя метод упоминается в документации и даже предлагается VS Code, как в этом снимке.
Мой код здесь:
// ... many parts skipped, the form here is template driven
// but still personForm is a FormGroup ,
// I am trying to disable the whole FormGroup with all child elements
@ViewChild('personForm') personForm: FormGroup;
if (true) {
// if I console.log here the form, I can see it is created already
console.log(this.personForm);
// output of console.log is
// NgForm {submitted: false, _directives: Array(0), ngSubmit: EventEmitter, form: FormGroup}
this.personForm.disable();
}
В чем здесь проблема?
ОБНОВЛЕНИЕ 1:
Я создал стек, чтобы показать проблему
вот ссылка на эту демонстрацию
ОБНОВЛЕНИЕ 2:
Так как ошибка не отображается при начальной загрузке, если вы удалите this.firstStepForm.disable();
и перезапишите его, вы получите ошибку, но в любом случае поведение будет неправильным, поле формы не будет отключено, как ожидалось
Кроме того, при обновлении части браузера в stackblitz будет отображаться ошибка «Snackbar»