Lier une entrée avec le type datetime-local à une propriété Date dans Angular 2
Il est possible de lier une propriété d'un composant de type Date pour une entrée HTML5 avec le type d'ensemble de datetime-local
?
Dans mon composant j'ai matériels:
public filterDateFrom: Date;
et dans mon template j'ai une entrée définie comme:
<input type="datetime-local" [(ngModel)]="filterDateFrom" />
mais la liaison ne fonctionne pas.
source d'informationauteur Dominik Palo
Vous devez vous connecter pour publier un commentaire.
Démo Plnkr
Vous pouvez lier à une date en utilisant le format suivant:
yyyy-MM-ddTHH:mm
vous pouvez également obtenir dedate.toISOString().slice(0,16)
(la tranche supprime la partie heure après le procès-verbal).Gardez à l'esprit que
date.toISOString()
sera de retour un jour de décalage de l'heure locale. Vous pouvez également construire la chaîne de date vous-même:Si vous voulez être en mesure de lier le sélectionner pour un
Date
modèle, vous pouvez l'utiliser pour construire une coutume composant de date:Les utilisateurs de votre composant se lient à un
Date
modèle à deux voies de la liaison de modèle:Ou si vous voulez éviter des balises personnalisées, réécrire le composant en tant que directive:
Démo Plnkr à la Directive
Maintenant que son Printemps 2017,
DatePipe
est livré OOTB. Vous pouvez obtenir (one-way) de liaison en spécifiant les paramètres de format pour le tuyau. Par exemple:Légère mise en garde est que vous avez à gérer ensuite les DOM --> côté du modèle de choses à gérer les changements du client à la commande (sauf que je suis absent quelque chose!), mais il semble beaucoup plus propre de cette façon.
Mise à jour
Semble que j'ai été bien raté quelque chose!
Ajoutant
ngModelChange
à la ci-dessus doivent fournir les DOM --> côté du modèle de la liaison bidirectionnelle processus: