Exemples

Une large collection d'exemples avec du code fonctionnel que vous pouvez utiliser dans votre projet dès aujourd'hui.

Formulaires & structure

Ajouter des classes au bouton de soumission fourni par FormKit

Le type form ajoute automatiquement un bouton de soumission. Ajoutez des classes pour que son interface utilisateur puisse se conformer aux styles de votre projet

Utiliser une liste pour répéter une entrée

En utilisant le type list, nous pouvons créer des entrées répétables qui peuvent avoir plusieurs valeurs. Cet exemple utilise une boucle pour permettre aux utilisateurs d'ajouter/supprimer des adresses e-mail.

Schéma

Afficher conditionnellement une entrée en fonction de la valeur d'une autre entrée

Utilisez le composant FormKitSchema pour afficher conditionnellement une entrée (avec des règles de validation) en fonction de la valeur d'une autre entrée.

Formulaire en plusieurs étapes construit à partir du Schéma

Utilisez le composant FormKitSchema pour rendre le formulaire en plusieurs étapes à partir du guide du formulaire en plusieurs étapes.

Bouton de soumission de schéma personnalisé avec état désactivé et indicateur de chargement

Créez un bouton de soumission personnalisé alimenté par un schéma qui se désactive dynamiquement pendant la soumission du formulaire et fournit un indicateur de chargement.

Ajouter un compte à rebours de la longueur maximale à une zone de texte

Ajoute une simple compte à rebours des caractères restants dans une zone de texte avec une infobulle au survol basée sur la propriété maxlength de la zone de texte

Plugins

Ajouter un astérisque aux étiquettes de toutes les entrées obligatoires

Utilisez un plugin pour ajouter un astérisque (*) à la zone d'étiquette des entrées qui ont la règle "required".

Convertir les valeurs des entrées numériques de chaînes en nombres

Utilisez un plugin pour convertir les valeurs de chaînes en nombres. Utile si vous voulez que les entrées de type number retournent un primitif JS Number.

Ajouter une icône avant les messages de validation

Utilisez un plugin pour ajouter une icône avant les messages de validation en étendant la définition du schéma.

Définir les valeurs initiales sur des chaînes vides au lieu de undefined

Utilisez un plugin pour définir toutes les valeurs initiales des entrées sur une chaîne vide "" au lieu de undefined.

Ajouter un indicateur de chargement manuellement activable aux entrées de type 'button'

Utilisez un plugin pour permettre aux entrées de la famille button d'avoir un indicateur de chargement qui peut être activé à volonté avec une nouvelle propriété loading.

Définir automatiquement le nom, l'étiquette et le texte d'aide d'une entrée en fonction de l'id

Utilisez un plugin pour définir automatiquement les propriétés name, label, et help d'une entrée en fonction de l'id. Réduit les déclarations de propriétés répétitives dans votre HTML.

Ajoute un attribut pour les bibliothèques comme @testing-library pour les tests

Un plugin qui ajoute l'attribut data-testid avec l'id du nœud pour les bibliothèques de test.

Défiler jusqu'à la première validation ou erreur sur le formulaire.

Un plugin qui défile automatiquement jusqu'à la première erreur sur la page lors de la soumission ou lorsque des erreurs backend sont ajoutées.

Entrées

Entrée numérique avec boutons d'incrémentation personnalisés

Une entrée personnalisée avec des boutons d'incrémentation +1 et -1. Réalisée en utilisant createInput().

Une entrée de devise avec sélecteur de devise

Une entrée personnalisée simple qui permet aux utilisateurs de sélectionner une devise et d'entrer une valeur. Réalisée en utilisant createInput().

Ajouter un lien (balise <a>) à une étiquette

Utilisez des slots ou la fonctionnalité :sections-schema pour modifier le HTML d'une étiquette.

Mettre à jour conditionnellement les options d'une entrée de type select

Mettez à jour conditionnellement les options d'une entrée select en fonction de la valeur d'une autre entrée.

Styliser les options d'entrée radio pour qu'elles ressemblent à des cartes

En utilisant uniquement de nouveaux styles (classes Tailwind dans cet exemple), appliquez un traitement de carte à la structure par défaut de l'entrée radio de FormKit.

Interface utilisateur

Ajouter un indicateur de chargement pour les règles de validation asynchrones

Ajoutez un indicateur de chargement à votre entrée lorsqu'une règle de validation asynchrone est en attente de validation.

Garder le bouton de soumission désactivé jusqu'à ce qu'un formulaire change

Activez un bouton d'enregistrement/soumission uniquement si un utilisateur a modifié une valeur à l'intérieur d'un formulaire.

Ajouter des transitions aux messages de validation

Ajoutez des transitions aux messages de validation en injectant un composant TransitionGroup de Vue en utilisant le :sections-schema de FormKit.

Projet de démarrage avec Nuxt, FormKit et Tailwind

Un projet de démarrage fonctionnel sur StackBlitz avec Nuxt, FormKit et Tailwind CSS.

Produire des classes dynamiques en fonction de l'état d'une entrée

Utilisez l'objet de configuration classes et les props de FormKit pour produire des classes dynamiques en fonction de l'état de l'entrée. Utile pour Tailwind et autres bibliothèques d'utilitaires CSS.

Créer des variations d'interface utilisateur réactives des entrées FormKit en utilisant les “features”

Créez des variations d'interface utilisateur des entrées FormKit (comme les boutons) qui se mettent à jour en fonction des données réactives de vos composants.