Ich versuche, das disabledAttribut von a zu verwenden formControl. Wenn ich es in die Vorlage einfüge, funktioniert es:
<md-input formControlName="id" placeholder="ID" [disabled]="true"></md-input>
Aber der Browser warnt mich:
Es sieht so aus, als würden Sie das Attribut disabled mit einer reaktiven Formularanweisung verwenden. Wenn Sie beim Einrichten dieses Steuerelements in Ihrer Komponentenklasse deaktiviert auf true setzen, wird das Attribut disabled tatsächlich im DOM für Sie festgelegt. Wir empfehlen diesen Ansatz, um Fehler zu vermeiden, die nach Überprüfung geändert wurden.
Example: form = new FormGroup({ first: new FormControl({value: 'Nancy', disabled: true}, Validators.required), last: new FormControl('Drew', Validators.required) });
Also habe ich es in die FormControlund aus der Vorlage gelöscht:
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);
}
Aber es funktioniert nicht (es deaktiviert das nicht input). Was ist das Problem?
this.myForm.controls['id'].disable()irgendwo in den Konstruktor zu setzen. Ich habe eine Bibliothek erstellt, die das Arbeiten mit dynamischen Formularen erleichtert: github.com/mat3e/dorf