Ionic - 10.16 Configurer les contrôles de dates de réservation
Une réservation doit respecter les dates disponibles pour chaque lieu. Cette leçon ajoute ces bornes au modèle de lieu, puis les utilise dans le formulaire de réservation. Elle montre aussi comment transmettre le mode choisi et générer une date au hasard.
Ajouter les dates au modèle
Le modèle d'un lieu reçoit deux nouveaux champs de type Date, pour les dates disponibles de début et de fin. Chaque lieu de la liste reçoit ensuite ses deux valeurs.
Le composant de sélection utilise ces valeurs comme minimum et maximum. Pour éviter une erreur lors de la réservation, les dates sont converties avec toISOString, qui fournit le format ISO attendu.
Transmettre le mode de réservation
Le menu d'action de la page de détails propose le mode select ou le mode random. Le choix est transmis à la page de réservation par une propriété d'entrée, qui ne prend que ces deux valeurs.
En mode select, la page de réservation utilise directement les dates de début et de fin du lieu.
Générer une date aléatoire
En mode random, la date de début est tirée au hasard entre la date de début du lieu et sa date de fin, moins une semaine. Le calcul se fait en millisecondes : sept jours, multipliés par 24 heures, par 60 minutes, par 60 secondes et par 1000 millisecondes.
La date de fin est ensuite fixée six jours après la date de début. Les deux dates sont converties au format ISO et reliées au formulaire, ce qui affiche le résultat uniquement en mode random.
En résumé
Les bornes de dates sont ajoutées au modèle de lieu, puis converties au format ISO pour le formulaire. Le mode choisi indique si les dates sont sélectionnées ou tirées au hasard. En mode random, la date de début est calculée en millisecondes, et la fin tombe six jours plus tard.
Points clés
- Le modèle de lieu reçoit une date de début et une date de fin disponibles.
- toISOString convertit les dates au format ISO attendu.
- Le mode select ou random est transmis à la page de réservation.
- Le mode random calcule la date de début en millisecondes.
- La date de fin est fixée six jours après le début en mode random.
Questions fréquentes
Pourquoi convertir les dates avec toISOString ?
Sans cette conversion, la réservation affiche une erreur. toISOString fournit le format standard attendu.
Qu'est-ce qu'une date en millisecondes ?
C'est le nombre de millisecondes écoulées depuis le 1er janvier 1970. La méthode getTime fournit cette valeur pour une date.
Quand les dates aléatoires sont-elles calculées ?
Uniquement lorsque le mode random est sélectionné. En mode select, les dates viennent du choix de l'utilisateur.