Pro installation quickstart 🚀

Exemple de base

L'entrée datepicker permet aux utilisateurs de sélectionner une date à partir d'un calendrier personnalisable, et de taper la date directement dans l'entrée avec un support complet de l'internationalisation.

Aperçu du Datepicker

5 mins

Charger l'exemple en direct

Modes

FormKit utilise une solution de masquage unique pour permettre aux utilisateurs de taper des dates dans l'entrée du datepicker (tout en limitant les options disponibles aux seules valeurs valides) ou de sélectionner leur date via une entrée de calendrier.

Double entrée

  • Entrée de texte - Par défaut, les utilisateurs peuvent cliquer ou tabuler dans n'importe laquelle des "parties" de la date affichée (mois, date, année, etc.) dans l'entrée de texte et taper la valeur souhaitée. Les valeurs correspondantes seront affichées avec une complétion automatique. En plus de taper, les utilisateurs peuvent appuyer sur les touches flèche haut/bas pour parcourir les options disponibles pour chaque segment.
  • Entrée de sélection - En cliquant sur l'icône "calendrier" à droite de l'entrée, les utilisateurs peuvent également afficher un popup de calendrier pour sélectionner leur date visuellement :
Charger l'exemple en direct
Placeholder & Overlay

Pour afficher un placeholder en mode double entrée, vous devez activer le masque overlay. Ceci n'est pas nécessaire avec picker-only activé. En savoir plus sur les masques et les overlays ici.

Sélection uniquement

Vous pouvez désactiver le mécanisme d'entrée de texte et vous assurer que quelqu'un utilise le dialogue du datepicker pour entrer sa date en ajoutant la propriété picker-only. En mode picker-only, un clic sur l'entrée ouvrira immédiatement le dialogue. De plus, l'utilisation d'un overlay n'est pas nécessaire pour le support du placeholder :

Charger l'exemple en direct

Format de date

Le datepicker prend en charge les dates "stylisées" Intl.DateTimeFormat, ainsi que les formats de date basés sur des jetons. Pour changer le format affiché à l'utilisateur, modifiez la propriété format.

Formats stylisés

Si votre public est international, vous devriez envisager de rester avec les "dates stylisées" car ce sont les formats de date les plus naturels dans chaque locale. Le format par défaut pour un datepicker est long.

La propriété format peut accepter une simple chaîne comme long ou medium, auquel cas elle utilise le dateStyle Intl.DateTimeFormat correspondant. Alternativement, vous pouvez fournir un objet avec les propriétés date et time et leurs styles Intl.DateTimeFormat respectifs ({ date: 'long', time: 'short' }).

Charger l'exemple en direct

Styles de date

Activez l'un des styles de date suivants avec la propriété format :

Style de formatExemples
fullMercredi 1 mars 2023, Mercoledì 1 marzo 2023
long1 mars 2023, 1 marzo 2023
medium6 mar 2023, 6 mar 2023
short1/3/23, 1/3/23

Styles de temps

Style de formatExemples
long19:05:00 PM, 19:05:00
medium19:05:00 PM, 19:05:00
short19:05 PM, 19:05

Formats de jeton

Vous pouvez utiliser la propriété format pour définir explicitement un format de date tokenisé. Un format de jeton est représenté par une chaîne avec n'importe quels caractères arbitraires et une ou plusieurs des chaînes dans le tableau ci-dessous.

FormKit interface avec le Intl.DateTimeFormat pour internationaliser automatiquement les jetons en fonction de la locale actuelle. Par exemple, le jeton MMMM pour 2000-01-01 produirait January pour la locale en mais produirait 一月 pour la locale zh.

Dates requises

Il est possible, lors de l'utilisation de jetons, de créer des dates non analysables. Par exemple, si votre entrée n'affiche que le jour de la semaine (dddd). Vous pouvez utiliser des formats de date non analysables uniquement en mode picker-only. Si vous souhaitez permettre à vos utilisateurs de taper leur date, votre format doit inclure au moins un jeton de mois, de jour et d'année.

JetonExemplesDescription
YY99, 23, 00Année à 2 chiffres
YYYY1999, 2023, 2100Année à 4 chiffres
M1, 12Le mois 1-12
MM01, 12Le mois 01-12
MMMJan, FévNom court Jan-Déc
MMMMJanvier, FévrierNom complet Janvier - Décembre
D1, 9, 22Le jour du mois 1-31
DD01, 09, 22Le jour du mois 01-31
dL, M, M, J, V, S, DJour à un chiffre "M"
dddJeu, SamNom court du jour "Jeu"
ddddLundi, MardiNom complet du jour "Mercredi"
H0, 13, 23Heure minimum, 24 heures, 0-23
HH00, 13, 232 chiffres pour l'heure, 24 heures, 00-23
h12, 1, 11Heure minimum, horloge 12 heures, 1-12
hh12, 01, 112 chiffres pour l'heure, horloge 12 heures, 01-12
m1, 59La minute 0-59
mm01, 59La minute 00-59
s1, 59La seconde 0-59
ss01, 59La seconde 00-59
aam, pmam/pm
AAM, PMAM/PM
Internationalisation

Bien que FormKit internationalisera automatiquement vos jetons — si votre formulaire est destiné à un public largement international, envisagez d'utiliser des styles de date au lieu de jetons car cela conduit à une date plus lisible dans de nombreuses locales.

Charger l'exemple en direct

Échapper aux tokens

Pour inclure des lettres dans votre format qui sont elles-mêmes des tokens (comme a), vous pouvez échapper ces tokens avec un backslash \ avant le caractère :

Charger l'exemple en direct

Séquence de panneaux

Le popup du calendrier du datepicker a quatre "panneaux" :

  • day — Affiche une vue traditionnelle du calendrier d'un mois avec chaque jour sélectionnable.
  • month — Affiche les 12 mois de l'année.
  • year — Affiche une décennie d'années à la fois.
  • time — Affiche l'heure du jour.

Lorsqu'un utilisateur ouvre le popup du datepicker, il lui sera montré un ou plusieurs de ces panneaux. Vous pouvez modifier quels panneaux sont affichés à l'utilisateur et la séquence dans laquelle ces panneaux doivent être affichés en fournissant une prop sequence. La valeur sequence par défaut est ['day'] (ce qui vous permet de naviguer vers les panneaux month et year).

Par exemple, lors de la sélection d'une date de naissance, il est naturel de sélectionner d'abord l'année de naissance, puis le mois, puis le jour. La prop sequence permet ce comportement :

Charger l'exemple en direct

Sélection de l'heure

Le panneau time peut être utilisé pour permettre à un utilisateur de sélectionner une heure spécifique de la journée. Si vous choisissez un format qui inclut l'heure (comme YYYY-MM-DD HH:mm), vous voudrez probablement inclure le panneau time dans votre séquence :

Charger l'exemple en direct

Valeurs

Comme toutes les entrées, la value du datepicker est à la fois ce qui est produit par le datepicker, et ce qui est lu dans le datepicker pour l'hydratation. Par défaut, le format de la valeur est une chaîne ISO8601 normalisée en UTC (exemple : 2014-11-27T03:59:00.000Z). Cependant, ce format peut être modifié pour n'importe lequel des styles de date supportés ou des formats de token listés ci-dessus en utilisant la prop value-format.

Une question valide est pourquoi ne pas toujours utiliser ISO8601 ? Bien que ce soit la façon la plus populaire de travailler avec les dates - elle est lisible par les machines et les humains - elle n'est pas très lisible par les humains. Par exemple, si votre formulaire envoie un email de demande de contact à une entreprise de restauration, alors ISO8601 ne serait probablement pas le meilleur choix.

Dates complètes

Le format de la valeur doit contenir toutes les données nécessaires pour reconstituer un objet date, au minimum cela inclut le mois, le jour, l'année. Si votre entrée demande des informations à l'utilisateur qui ne sont pas représentées dans votre format de valeur, ces détails seront perdus.

Styles de date

Pour utiliser un style de date comme valeur, il suffit de passer le style que vous souhaitez utiliser à la propriété value-format :

Charger l'exemple en direct

Formats de jeton

Les valeurs peuvent également être représentées dans n'importe quel format arbitraire en utilisant des jetons de formatage :

Charger l'exemple en direct

Définition des valeurs (hydratation)

Les valeurs passées à un datepicker doivent :

  1. Correspondre au value-format dans le value-locale actuel OU,
  2. Être un objet Date JavaScript natif.

Bien que les objets Date natifs soient toujours acceptés comme des entrées valides pour un datepicker, ils seront immédiatement transformés dans le value-format spécifié.

Correspondance avec le value-format

Charger l'exemple en direct

Utilisation d'une Date native

Charger l'exemple en direct

Locale de valeur

Comme le format de la valeur doit être analysé en utilisant la même locale avec laquelle il a été créé, il est recommandé de toujours spécifier la value-locale lors de la définition d'un value-format personnalisé. Cela garantit que quelle que soit la locale de l'utilisateur qui entre la date, la valeur restera cohérente :

Fuseau horaire vs Locale

Changer la value-locale n'a aucun effet sur le timezone de la date choisie. Voir la documentation sur les fuseaux horaires ci-dessous pour plus d'explications.

Charger l'exemple en direct

Fuseaux horaires

Le temps est notoirement difficile à gérer dans n'importe quel environnement logiciel, mais surtout en JavaScript basé sur un navigateur. Le datepicker propose quelques options pour aider à contourner ces défis.

Étude de cas sur les fuseaux horaires, les dates et les formats

Pour travailler avec les dates et les heures en JavaScript, il est utile d'avoir une compréhension de base de l'objet Date. L'objet date en JavaScript est fondamentalement un timestamp Unix (nombre de millisecondes depuis le 1er janvier 1970 à 00:00:00Z). Cependant, il est toujours localisé à l'heure du client. Cette localisation est exprimée en décalage par rapport à UTC. L'heure actuelle de votre navigateur est :

Heure du client (navigateur)

Lorsque le décalage est appliqué à l'heure "horloge", vous arrivez à l'heure actuelle en UTC :

UTC

Lors de l'utilisation de jetons value-format dans le datepicker, ces jetons fonctionneront en utilisant le fuseau horaire du client. Par exemple, si votre format demande le jeton HH, il retournerait :

Jeton de format HH

Comparez cela aux dates ci-dessus, et vous verrez que c'est la même chose que la partie heures de l'heure locale. Pourquoi cela importe-t-il ? Lisez la suite.

Une étude de cas

Prenons en considération une application de réservation pour un restaurant situé à Amsterdam (UTC +100/+200). C'est une destination populaire pour les touristes et ils font souvent des réservations plusieurs semaines avant leur voyage (alors qu'ils sont dans leur pays d'origine).

Le sélecteur de date, par défaut, demandera au touriste la date et l'heure de leur réservation souhaitée — mais (par défaut) la sélection sera leur heure locale, pas l'heure à Amsterdam. Même si le value-format sort en UTC, l'heure ne sera pas l'heure de réservation prévue à Amsterdam (à moins qu'ils ne se trouvent dans le même fuseau horaire).

En général, il y a 2 solutions à ce problème :

Option 1 : Heure indéterminée

Utilisez une heure "indéterminée" (parfois appelée "heure murale"). Une heure indéterminée est une heure sans corrélation spécifique avec un horodatage Unix sous-jacent. Par exemple, 14h le 13 mars n'est pas en UTC et n'a pas de décalage explicite. 14h le 13 mars décrit une heure spécifique à un endroit/fuseau horaire indéterminé. Vous pouvez le faire avec des jetons de format comme (YYYY-MM-DD HH:mm) tant que vous n'utilisez pas le décalage dans votre valeur (Z).

Cela fonctionnerait pour notre application de restaurant tant qu'un backend est capable d'attacher un fuseau horaire ou un décalage approprié à cette heure indéterminée 2023-03-13 14:00 GMT+0100 pour arriver à l'heure UTC appropriée (ce que cette application fictive requiert dans sa base de données). Le défi restant, pour un développeur backend, est de savoir quel décalage appliquer à la date pour s'assurer qu'elle devient "l'heure d'Amsterdam" (ce décalage varie en fonction de l'heure de l'année en raison de l'heure d'été à Europe/Amsterdam).

Option 2 : Utilisation de la propriété timezone du sélecteur de date

Alternativement, la propriété timezone du sélecteur de date effectuera la correction du décalage pour vous automatiquement. Il suffit de préciser "où" le sélecteur de date choisit l'heure — dans notre exemple timezone="Europe/Amsterdam". L'expérience de l'utilisateur ne changera pas du tout, mais l'heure qu'ils sélectionnent sera dans le fuseau horaire cible. Un utilisateur à America/New_York (+0400) qui sélectionne 14h le 13 mars dans son sélecteur de date, donnera une valeur UTC de 2023-03-13T13:00:00Z qui est 14h à Amsterdam. Cela permet un stockage et une hydratation simples de votre date en utilisant un format UTC.

Fuseau horaire indéterminé

Par défaut, le sélecteur de date utilise le fuseau horaire local du client lorsqu'une sélection est faite. La valeur de la sortie est déterminée par le value-format (voir ci-dessus) — par défaut, il s'agit d'une chaîne ISO8601 normalisée en UTC. Cependant, en spécifiant un format personnalisé, vous pouvez obtenir une heure "indéterminée" (également appelée "heure murale"). Il s'agit d'une date et/ou d'une heure sans corrélation spécifique à un fuseau horaire donné.

Par exemple, lorsque vous réglez une alarme sur votre téléphone pour 8:00 AM — cette heure est "indéterminée" — elle n'a aucune corrélation avec le fuseau horaire. Si vous vivez à Rome et voyagez à Tokyo, votre alarme sonnera à 8:00 AM à Tokyo de la même manière qu'elle sonnerait à 8:00 AM à Rome. Il est impossible de représenter cela en UTC.

Vous pouvez obtenir une heure indéterminée avec le sélecteur de date en ne fournissant aucune information de fuseau horaire ou de décalage dans votre value-format — il appartient à l'interprète de la date d'ajouter cette information. Les jetons dans un value-format sortent toujours des valeurs locales du client — donc en laissant toute donnée de fuseau horaire ou de décalage (Z) hors de la valeur, elle est intrinsèquement "indéterminée" :

Charger l'exemple en direct

Spécifier un fuseau horaire

Pour certaines applications, il est nécessaire de sélectionner l'heure dans un lieu donné - cela peut être assez difficile. Pour aider à soulager cette difficulté, le datepicker prend en charge la possibilité de spécifier explicitement le fuseau horaire de l'entrée.

La propriété fuseau horaire vous permet de spécifier la "localisation" du datepicker en fonction des fuseaux horaires IANA pris en charge par le navigateur. C'est important lorsque vous souhaitez permettre aux utilisateurs de sélectionner une date et une heure dans un lieu géographique donné, peu importe où se trouve le client. Voici quelques exemples d'utilisation :

  • Réservations de restaurant
  • Heure de prise en charge de la location de voiture
  • Heure d'enregistrement à l'hôtel

Il y a beaucoup de moments où le fuseau horaire ne devrait pas être utilisé (par défaut à l'heure du client) :

  • Planification d'une réunion Zoom
  • Réglage d'une notification de rappel
  • Création d'un événement de calendrier

Dans l'exemple ci-dessous, un utilisateur doit récupérer une voiture de location à Kolkata, en Inde, après un vol international. L'utilisateur regarde son billet - le vol arrive à Kolkata à 13h45. Ils aimeraient récupérer la voiture 45 minutes plus tard à 14h30. Ces faits sont vrais peu importe où dans le monde l'utilisateur réserve le voyage. Dans ce cas, nous devrions régler le fuseau horaire sur Asia/Kolkata. Le décalage à Kolkata est de +5:30 - donc sélectionner 14h30 à Kolkata est équivalent à 09h00 UTC :

Charger l'exemple en direct
Polyfilling des fuseaux horaires

La plupart des navigateurs sont livrés avec une base de données IANA complète intégrée dans Intl.DateTimeFormat. C'est excellent car FormKit n'a pas besoin d'envoyer la (assez vaste) base de données de fuseaux horaires au navigateur du client. Cependant, certains navigateurs plus anciens peuvent ne pas avoir la base de données IANA. Ces données peuvent être facilement polyfillées en utilisant polyfill.io avec Intl.DateTimeFormat.~timeZone.all.

Désactivation des dates

Il est souvent nécessaire de désactiver des dates spécifiques dans le datepicker. Il existe trois façons de désactiver des dates dans le datepicker :

  • min-date - une propriété pour contrôler quelle est la première date disponible.
  • max-date - une propriété pour contrôler quelle est la dernière date disponible.
  • disabled-dates - une propriété pour contrôler si une date arbitraire doit être désactivée ou non.

Toute date qui est désactivée ne peut pas être sélectionnée dans le pop-up du datepicker, cependant une date non disponible peut toujours être définie comme valeur initiale ou en la tapant dans l'entrée (lorsqu'elle n'est pas en mode picker-only). Pour gérer ces cas particuliers, le datepicker dispose d'une règle de validation intégrée (qui ne peut pas être désactivée) qui garantit que seules des dates valides peuvent être soumises. La clé de la règle de validation est invalidDate.

Date minimale

Il est souvent nécessaire de désactiver les dates antérieures à une date particulière. Par exemple, la réservation d'une chambre d'hôtel ne devrait se faire que pour des dates futures. Pour ce faire, utilisez la propriété min-date avec soit une chaîne compatible ISO8601, soit un objet Date natif :

Charger l'exemple en direct

Date maximale

Pour désactiver toutes les dates après une date donnée, utilisez la propriété max-date. Par exemple, un sélecteur d'anniversaire ne devrait autoriser que les dates passées. Pour ce faire, utilisez la propriété max-date avec soit une chaîne compatible ISO8601, soit un objet Date natif :

Charger l'exemple en direct
Dates min & max ensemble

Vous pouvez utiliser min-date et max-date en même temps. Non seulement cela limitera la plage de dates, mais en plus cela limitera les années disponibles aux seules années valides lors de l'utilisation de la saisie de texte.

Jours désactivés

Souvent, nos applications nécessitent une granularité beaucoup plus importante lors de la désactivation des dates que ne le permettent min-date et max-date. Le datepicker permet un contrôle précis en utilisant la propriété disabled-days.

La propriété disabled-days attend une fonction qui reçoit 2 arguments : le noyau du noeud et un objet Date. La fonction a pour responsabilité de retourner un booléen indiquant si la date est désactivée (true est désactivé).

La propriété disabled-days supplante min-date et max-date — vous pouvez choisir de réimplémenter la fonctionnalité de base en accédant à node.props.minDate ou node.props.maxDate.

Rapide et synchrone

Il est important que la fonction fournie soit rapide et synchrone — elle sera appelée fréquemment et de manière répétée. Par exemple, si vous devez récupérer des informations à partir d'une base de données, faites-le en dehors de cette fonction et utilisez cette fonction pour accéder aux résultats mémorisés.

Exemple : week-ends désactivés

Charger l'exemple en direct

Exemple : récupération à partir de l'API

Charger l'exemple en direct

Balayage pour disponibilité

Lors de la navigation dans le calendrier pop-up via le clavier, le datepicker ne vous permettra pas de sélectionner une date désactivée. Cependant, cela peut être ennuyeux car cela peut créer des zones d'inaccessibilité si certaines dates disponibles sont "coincées" entre des dates indisponibles.

Pour améliorer l'expérience utilisateur, le datepicker balayera automatiquement vers l'avant ou vers l'arrière (selon la direction souhaitée) pour trouver la prochaine date disponible à sélectionner. Le nombre maximum de jours à balayer pour trouver un jour disponible est contrôlé par la propriété maxScan (7 jours par défaut) :

Exemple: max-scan

Charger l'exemple en direct

Props & Attributs

PropTypePar défautDescription
date-formatstringDLe format de token à utiliser dans le calendrier pour les dates du mois.
disabled-daysfunctionlogique de date min/maxUne fonction qui reçoit le nœud central et un objet `Date` et doit retourner si la date est désactivée (`true` est désactivé).
formatstring/objectdate: 'long'Le format à afficher à l'utilisateur dans l'input de sélection.
max-dateDate | ISO8601noneLa date maximale que l'utilisateur est autorisé à sélectionner.
max-scannumber7Le nombre maximal de jours à scanner en avant ou en arrière lors de la recherche d'une date disponible à laquelle sauter via la navigation au clavier.
min-dateDate | ISO8601noneLa date la plus ancienne que l'utilisateur est autorisé à sélectionner.
month-button-formatstringMMMMLe format de date à utiliser pour le bouton du panneau du mois dans le popup du calendrier.
month-formatstringMMMMLe format de date à utiliser pour chacun des 12 mois sur le panneau du mois.
overlaybooleanfalseIndique si un masque overlay doit être affiché ou non. En savoir plus sur les overlays dans la documentation de l'input de masque (n'a aucun effet en mode `pickerOnly`).
picker-onlybooleanfalseIndique si la date peut être entrée via un input de texte. Lorsque picker-only est activé, seul le picker peut être utilisé pour sélectionner une date.
show-monthsnumber1Le nombre de mois à afficher dans le popup lorsqu'on est sur le panneau du jour.
sequencearray['day']La séquence de panneaux à parcourir par l'utilisateur lorsqu'il ouvre la vue du calendrier du datepicker. Les options sont `year`, `month`, `day`, `time`.
value-formatstring/objectISO8601Le format à enregistrer comme valeur de l'input. Cela peut être composé avec n'importe quel format de token, style de date, ou `ISO8601`.
value-localestring`node.props.locale`La locale à utiliser pour le `valueFormat`. Lors de l'utilisation de tokens de format dans la prop `valueFormat`, il est fortement recommandé de définir un `valueFormat` explicite.
week-startnumber0Le jour de la semaine pour commencer le calendrier du panneau `day`. 0-6 où 0 = dimanche et 6 = samedi.
week-day-formatstringdLe format de date utilisé pour rendre les en-têtes de colonne du jour de la semaine.
year-formatstringYYYYLe format de date utilisé pour rendre les années dans le panneau `year`.
Afficher Universel props
configObject{}Options de configuration à fournir au nœud d'entrée et à tout nœud descendant de cette entrée.
delayNumber20Nombre de millisecondes à attendre avant que la valeur d'une entrée ne soit déclenchée avant que le commit hook ne soit déclenché.
dirtyBehaviorstringtouchedDétermine comment le drapeau "dirty" de cette entrée est défini. Peut être défini sur touched ou compare — touched (par défaut) est plus performant, mais ne détectera pas lorsque le formulaire correspond à nouveau à son état initial.
errorsArray[]Tableau de chaînes à afficher comme messages d'erreur sur ce champ.
helpString''Texte pour le texte d'aide associé à l'entrée.
idStringinput_{n}L'identifiant unique de l'entrée. Fournir un identifiant permet également d'accéder globalement au nœud de l'entrée.
ignoreBooleanfalseEmpêche une entrée d'être incluse dans un parent (groupe, liste, formulaire, etc). Utile lors de l'utilisation d'entrées pour l'interface utilisateur au lieu de valeurs réelles.
indexNumberundefinedPermet d'insérer une entrée à l'index donné si le parent est une liste. Si la valeur de l'entrée est indéfinie, elle hérite de la valeur de cette position d'index. Si elle a une valeur, elle l'insère dans les valeurs de la liste à l'index donné.
labelString''Texte pour l'élément label associé à l'entrée.
nameStringinput_{n}Le nom de l'entrée tel qu'identifié dans l'objet de données. Cela doit être unique au sein d'un groupe de champs.
parentFormKitNodecontextualPar défaut, le parent est un groupe d'enrobage, une liste ou un formulaire — mais cette propriété permet une affectation explicite du nœud parent.
prefix-iconString''Spécifie une icône à placer dans la section prefixIcon.
preservebooleanfalseConserve la valeur de l'entrée sur un groupe parent, une liste ou un formulaire lorsque l'entrée est démontée.
preserve-errorsbooleanfalsePar défaut, les erreurs définies sur les entrées à l'aide de setErrors sont automatiquement effacées lors de l'entrée, en définissant cette propriété sur true, l'erreur est maintenue jusqu'à ce qu'elle soit explicitement effacée.
sections-schemaObject{}Un objet de clés de section et de valeurs partielles de schéma, où chaque partie de schéma est appliquée à la section respective.
suffix-iconString''Spécifie une icône à placer dans la section suffixIcon.
typeStringtextLe type d'entrée à afficher à partir de la bibliothèque.
validationString, Array[]Les règles de validation à appliquer à l'entrée.
validation-visibilityStringblurDétermine quand afficher les règles de validation en échec d'une entrée. Les valeurs valides sont blur, dirty et live.
validation-labelString{label prop}Détermine quelle étiquette utiliser dans les messages d'erreur de validation, par défaut, elle utilise la propriété label si elle est disponible, sinon elle utilise la propriété name.
validation-rulesObject{}Règles de validation personnalisées supplémentaires à rendre disponibles pour la propriété de validation.
valueAnyundefinedInitialise la valeur initiale d'une entrée et/ou de ses enfants. Non réactif. Peut initialiser des groupes entiers (formulaires) et des listes..

Sections

Vous pouvez cibler une section spécifique d'une entrée en utilisant la "clé" de cette section, ce qui vous permet de modifier les classes de cette section, le HTML (via :sections-schema), ou le contenu (via les slots). Lisez plus sur les sections ici.

View on a larger screen to see this section diagram.

Sélectionnez une date
26 novembre 2014
📅
Choisissez votre date d'arrivée.
Désolé, cette date n'est pas disponible.

Superposition

Cette section se trouve à l'intérieur de la section inner lorsque la propriété overlay est ajoutée.

View on a larger screen to see this section diagram.

Panneau des années

Le panneau apparaît sous l'élément d'entrée à l'intérieur de la section inner lorsque la fenêtre contextuelle du datepicker est ouverte.

View on a larger screen to see this section diagram.

2010 - 2020
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019

Panneau des mois

Le panneau apparaît sous l'élément d'entrée à l'intérieur de la section inner lorsque la fenêtre contextuelle du datepicker est ouverte.

View on a larger screen to see this section diagram.

2027
Jan
Fév
Mar
Avr
Mai
Juin
Juil
Août
Sep
Oct
Nov
Déc

Panneau des jours

Le panneau apparaît sous l'élément d'entrée à l'intérieur de la section inner lorsque la fenêtre contextuelle du datepicker est ouverte.

View on a larger screen to see this section diagram.

Fév
2026
D
L
M
M
J
V
S
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

Panneau de l'heure

Le panneau apparaît sous l'élément d'entrée à l'intérieur de la section inner lorsque la fenêtre contextuelle du datepicker est ouverte.

View on a larger screen to see this section diagram.

Février
17
2027
00:00

Clés de section

Section-keyDescription
calendarL'enveloppe immédiatement autour du calendrier sur le panneau du jour.
calendarHeaderL'enveloppe autour des colonnes d'en-tête sur le panneau du jour.
calendarWeeksL'enveloppe immédiatement autour de chaque rangée de semaines sur le panneau du jour.
dayLe contenu du jour - par défaut contient le jour numérique. Dans cette fente/section, vous pouvez utiliser context.day ($day dans le schéma) pour obtenir l'objet de date pour le jour donné.
dayButtonLe bouton affiché dans l'en-tête du panneau de l'heure qui navigue vers le panneau du jour.
dayCellL'enveloppe immédiatement autour de la section de la date. Dans cette fente/section, vous pouvez utiliser context.day ($day dans le schéma) pour obtenir l'objet de date pour le jour donné.
daysHeaderL'enveloppe autour des colonnes d'en-tête sur le panneau de la date.
monthLa section qui rend les noms de mois réels sur le panneau du mois. Dans cette fente/section, vous pouvez utiliser context.month ($month dans le schéma) pour obtenir l'objet de date pour le mois donné.
monthButtonLe bouton dans l'en-tête des panneaux du jour et de l'heure qui navigue vers le panneau du mois.
monthsL'enveloppe immédiatement autour des sections du mois sur le panneau du mois.
monthsHeaderL'enveloppe immédiatement autour des boutons d'en-tête (yearButton) sur le panneau du mois.
nextDans l'en-tête du panneau, le bouton responsable de la navigation vers le mois ou la décennie suivante.
nextLabelLa section responsable du rendu du contenu textuel du bouton suivant dans l'en-tête du panneau.
openButtonLe bouton responsable de l'ouverture de la boîte de dialogue du sélecteur.
overlayL'enveloppe extérieure de la superposition. La superposition est utilisée pour imiter le texte qui se trouve dans l'entrée de texte pendant le mode d'entrée de texte pour permettre le style.
overlayCharUne section contenant des caractères de superposition de type char
overlayEnumUne section contenant des caractères de superposition de type enum
overlayInnerUne enveloppe intérieure immédiatement à l'intérieur de la section de superposition.
overlayLiteralUne section contenant des caractères de superposition de type littéral
overlayPartsUne section contenant toutes les parties de la superposition en tant qu'enfants immédiats.
overlayPlaceholderUne section contenant des caractères de superposition de type espace réservé.
panelUne enveloppe autour du panneau actuellement actif. Ceci est rendu sous le panelHeader en tant que frère.
panelHeaderUne enveloppe autour de l'en-tête de chaque panneau où se trouvent les boutons de navigation du panneau. Ceci est un frère de la section du panneau.
panelWrapperUne enveloppe autour des sections du panneau et du panelHeader, cette section est responsable de l'affichage ou de la dissimulation de la boîte de dialogue du sélecteur.
prevDans l'en-tête du panneau, le bouton responsable de la navigation vers le mois ou la décennie précédente.
prevLabelLa section responsable du rendu du contenu textuel du bouton précédent dans l'en-tête du panneau.
timeLe panneau de l'heure qui contient le timeInput.
timeHeaderL'en-tête du panneau de l'heure avec des boutons de navigation vers les panneaux de l'année, du mois et du jour.
timeInputUne entrée HTML native time responsable de la définition de l'heure de la date sélectionnée.
weekUne enveloppe autour d'une rangée de 7 jours sur le panneau du jour.
weekDayLa cellule responsable du rendu du jour de la semaine dans l'en-tête du calendrier du panneau du jour (L, M, M, etc...).
weekDaysL'élément enveloppe autour des jours de la semaine sur l'en-tête du calendrier sur le panneau du jour.
yearL'élément responsable du rendu de chacune des années disponibles sur le panneau de l'année.
yearButtonLe bouton dans l'en-tête des panneaux du mois, du jour et de l'heure qui navigue vers le panneau de l'année.
yearsLe panneau des années, responsable du rendu d'une décennie d'années à la fois.
yearsHeaderL'en-tête du panneau lorsqu'il est sur le panneau des années, montre la plage d'années de la décennie actuelle.
Afficher Universel section keys
outerL'élément d'enrobage le plus externe.
wrapperUn enrobage autour de l'étiquette et de l'entrée.
labelL'étiquette de l'entrée.
prefixN'a pas de sortie par défaut, mais permet du contenu directement avant un élément d'entrée.
prefixIconUn élément pour afficher une icône avant la section de préfixe.
innerUn enrobage autour de l'élément d'entrée réel.
suffixN'a pas de sortie par défaut, mais permet du contenu directement après un élément d'entrée.
suffixIconUn élément pour afficher une icône après la section de suffixe.
inputL'élément d'entrée lui-même.
helpL'élément contenant le texte d'aide.
messagesUn enrobage autour de tous les messages.
messageL'élément (ou plusieurs éléments) contenant un message — le plus souvent des messages de validation et d'erreur.