Je construis une forme réactive simple. Pour simplifier, disons que les seules données que je veux afficher sont des dates.Application d'une canalisation ou transformation en valeur de forme réactive
test.component.html
<form novalidate [formGroup]="myForm">
<input type="date" formControlName="date">
</form>
test.component.ts
private date: Date = Date.now();
ngOnInit() {
this.myForm = this.fb.group({
date: [this.date, [Validators.required]]
});
}
Le type d'entrée = champ de date sur le modèle nécessite la date à être au format de 'aaaa-MM-jj'. La valeur dans event est un objet JavaScript Date. Comment puis-je modifier les données au niveau du modèle de sorte que la valeur d'entrée est correcte?
Ce que j'ai essayé:
Une façon de faire serait d'injecter le DatePipe dans mon composant et appliquer la conversion en code.
date: [datePipe.transform(this.event.date, 'yyyy-MM-dd'), [Validators.required]]
Mais cela lie les détails d'implémentation du modèle au composant. Par exemple, que se passe-t-il si un modèle NativeScript nécessite que la date soit au format MM/dd/yyyy
? Le formGroup n'est plus valide.
Désolé, mais je crois que c'est seul moyen ... Personnellement j'utiliserais un service pour récupérer le format de date (paramétré dynamiquement via un 'MyModule.forRoot (" myFormat ")'), donc vous pouvez l'utiliser sur plusieurs plateformes. – n00dl3