Отображение предупреждающего сообщения при динамическом отключении элементов управления2
Я хотел отключить все элементы управления при загрузке страницы и включить все элементы управления, когда пользователь нажимал кнопку добавления в реактивных формах. Так что для достижения этого я использовал [disabled]
атрибут в шаблоне HTML, но я получаю следующее предупреждение в консоли.
Предупреждение:
Похоже, вы используете атрибут disabled с реактивной формой. Если при установке этого элемента управления в классе компонентов вы установили для параметра disabled значение true, на самом деле атрибут DOM будет установлен для вас в DOM. Мы рекомендуем использовать этот подход, чтобы избежать ошибок "изменено после проверки".
Example:
form = new FormGroup({
first: new FormControl(
{value: 'Nancy', disabled: true},Validators.required),
last: new FormControl('Drew', Validators.required)
});
Пожалуйста, помогите мне, как избежать этого предупреждающего сообщения и выполнить мое требование.
1 ответ
@GünterZöchbauer верен, предупреждение говорит о том, что вы должны программно включать / отключать элементы управления либо при создании, как в примере, либо через функцию .disable()
а затем включить с помощью .enable()
функционируйте либо на элемент управления, либо на верхнем уровне, где он будет распространяться вниз (если вы не укажете false).
Если вы связываете с [disabled]
в Реактивной форме поведение может работать не так, как ожидалось.
Из документации AbstractControl:
disable ({onlySelf, emitEvent}?: {onlySelf?: логический, emitEvent?: логический}): void Отключает элемент управления. Это означает, что элемент управления будет освобожден от проверочных проверок и исключен из совокупного значения любого родителя. Его статус отключен.
Если у элемента управления есть дети, все дети будут отключены для поддержки модели.
enable ({onlySelf, emitEvent}?: {onlySelf?: boolean, emitEvent?: boolean}): void Включает элемент управления. Это означает, что элемент управления будет включен в проверки правильности и совокупное значение его родителя. Его статус пересчитывается на основе его значения и его валидаторов.
Если элемент управления имеет детей, все дети будут включены.