Próbuję użyć disabled
atrybutu z pliku formControl
. Kiedy wstawię to do szablonu, działa:
<md-input formControlName="id" placeholder="ID" [disabled]="true"></md-input>
Ale przeglądarka ostrzega mnie:
Wygląda na to, że używasz atrybutu disabled z dyrektywą formularza reaktywnego. Jeśli ustawisz disabled na true podczas konfigurowania tej kontrolki w klasie komponentów, atrybut disabled zostanie faktycznie ustawiony w DOM za Ciebie. Zalecamy skorzystanie z tego podejścia, aby uniknąć błędów „zmieniono po sprawdzeniu”.
Example: form = new FormGroup({ first: new FormControl({value: 'Nancy', disabled: true}, Validators.required), last: new FormControl('Drew', Validators.required) });
Więc umieściłem go w FormControl
, i usunąłem z szablonu:
constructor(private itemsService: ItemsService) {
this._items = [];
this.myForm = new FormGroup({
id: new FormControl({value: '', disabled: true}, Validators.required),
title: new FormControl(),
description: new FormControl()
});
this.id = this.myForm.controls['id'];
this.title = this.myForm.controls['title'];
this.description = this.myForm.controls['description'];
this.id.patchValue(this._items.length);
}
Ale to nie działa (nie wyłącza input
). Jaki jest problem?