Ich verwende einen reaktiven Formansatz. Ich habe Eingabefeld, das correspondent formControl-Objekt und während der Eingabe mache ich Formatierung auf den Wert - machen alle Eingabe Großbuchstaben.Angular 4 Reactive Form - Wert für die Anzeige
Das funktioniert natürlich gut - der Wert wird in der Ansicht und auch in formControl aktualisiert.
Das Problem ist, dass ich möchte den ursprünglichen Wert an den Server senden und nicht der formmated Wert (Groß-)
Also brauche ich so etwas wie Wert und Wert für die Anzeige im Formcontrol-Objekt.
See Plunker - formatting value formControl
Vorlage:
<input type="text"
class="form-control"
(blur)="handleOnBlur($event)"
(input)="onChange($event)"
formControlName="name">
Modell:
valueForModel: string;
valueForDisplay: string;
public myForm: FormGroup;
onChange(event) {
const value = event.target.value;
this.valueForModel = value;
this.valueForDisplay = value.toUpperCase();
event.target.value = this.valueForDisplay;
}
handleOnBlur(event) {
consol.log(this.valueForModel);
// Herer I'm calling the sever and the server actually works good
// server return back the updated value - but it then override my value
in the dom
// the value for display value
}
ngOnInit() {
this.myForm = this._fb.group({
name: ['', [<any>Validators.required,
<any>Validators.minLength(5)]],
});
}
Kann nichts finden zu helfen. Jeder Vorschlag wird geschätzt.
Wie sieht Ihr Code aussehen, und was haben Sie versucht? :) – Alex
Ich habe die Frage mit Plunker aktualisiert. Das Problem ist, dass ich irgendwie im Formular-Steuerelement und im Server aktualisiert werden muss. –
Um genauer zu sein - Die Frage ist - wie möglich ist, Wert auf Eingabe zu formatieren, während der FormContol Wert nicht formatiert –