useFormKitContext pour accéder à l'objet contexte du composant parent FormKit — ou de tout autre composant FormKit dans l'arborescence. Facultativement, vous pouvez fournir une fonction de rappel d'effet qui est exécutée lorsque le contexte est disponible.useFormKitContextById pour accéder à l'objet contexte de n'importe quel composant FormKit avec un identifiant explicite. Facultativement, vous pouvez fournir une fonction de rappel d'effet qui est exécutée lorsque le contexte est disponible.useFormKitNodeById pour accéder à l'objet nœud de n'importe quel composant FormKit avec un identifiant explicite. Facultativement, vous pouvez fournir une fonction de rappel d'effet qui est exécutée lorsque le nœud est disponible.type du composant FormKit (#1241).stopWatch au paquet @formkit/core qui permet de désenregistrer les reçus de la fonction watchRegistry.getNode<T>().@nuxt/tailwindcss qui inclut automatiquement le fichier formkit.theme.ts dans le contenu de tailwind.currency et unit.library aux composants FormKit et FormKitMessages qui vous permet d'inclure des composants supplémentaires pour le schéma d'entrée, par exemple, lors de l'utilisation de sections-schema pour modifier l'entrée (#1145) (#1137).value d'un composant FormKit auquel est passé un FormKitTypeDefinition est maintenant déduit du FormKitTypeDefinition.changeLocale qui faisait que la locale mise à jour n'était pas utilisée sur les nouveaux nœuds (#1143).@formkit/icons (#1184).FormKitIcon à la fonctionnalité autoImport du module Nuxt (#1168).BeforeStepChangeData (#1224).datetime-local (#1129).peerDependency de @formkit/vue pour réduire les incidents de multiples instances Vue dans le même projet (#1160).role="button" aux enveloppes d'icônes lorsqu'un événement de clic est ajouté à l'icône (#1210).L'argument type du composant FormKit nécessite maintenant un type correspondant dans le type FormKitInputProps pour le support TypeScript. Si vous utilisez des entrées personnalisées et avez fourni une augmentation de module pour FormKitInputProps, vous devrez mettre à jour le type FormKitInputProps pour inclure vos types.
ui.open à tous les paramètres régionaux i18n.npx formkit theme.prefix lors du calcul de la position de l'étiquette. (#878)@formkit/cli pour permettre la génération de thèmes publiés localement dans vos projets. Consultez la nouvelle documentation ici. (#1170)multi-step ne permettait pas de remplacer le schéma des sections tabs ou tab. (1110)FormKitKitchenSink pour inclure de nouveaux préréglages $options qui peuvent être utilisés dans les exemples de schémas dynamiquement récupérés pour les auteurs de thèmes.1.5.0 qui empêchait la synchronisation correcte de context.value avec node.value à l'intérieur des structures de groupes imbriquées (#1133).FormKit 1.5.0 est livré avec une nouvelle version de développement de FormKit. En développement, FormKit utilise maintenant des versions légèrement différentes de ses paquets qui incluent des améliorations supplémentaires de l'expérience développeur. Cela est similaire à la manière dont Vue lui-même a des versions "développement" et "production", et cela permet à FormKit de fournir une expérience développeur améliorée telle que le support HMR amélioré et de meilleurs messages d'erreur.
Les bases sont désormais posées pour une expérience développeur grandement améliorée dans les futures versions. Cette version inclut également des dizaines de corrections de bugs et d'améliorations.
createInput prend désormais en charge un troisième argument, sectionsSchema qui vous permet d'étendre les sections par défaut fournies avec createInput (#882).didMount et un événement de nœud mounted pour reconnaître quand le composant <FormKit> est monté dans le DOM (#0b8753d).node.children sont observés par @formkit/observer, cela permet aux règles de validation d'accéder à node.children avec réactivité.changeLocale composable qui change globalement la locale de tous les formulaires avec Options API, Composition API et autoimport Nuxt (#1112)allow_non_alpha et allow_numeric.npx formkit create-app) pour utiliser le système de thèmes de themes.formkit.com.options (select, checkbox, radio, autocomplete, etc.) comptent maintenant correctement leur valeur __mask (#1046).autoImport de @formkit/nuxt (1095, et autres).node.clearErrors() supprime toujours les erreurs locales à ce nœud (#941)createInput() (#1105).data-complete sur les groupes/listes (#1038).true ou false (#989).Vitest n'utilise pas automatiquement les mêmes paramètres de nœud (conditions) que Vite (voir #4971). Si vous constatez que vos tests échouent après la mise à jour, vous pouvez ajouter ce qui suit à votre fichier vitest.config.js :
export default defineConfig({
resolver: {
conditions: process.env.VITEST ? ['development'] : undefined
},
test: {
// ...configuration de vitest
}
})
Vite devrait être à ~1.2.x ou supérieur pour utiliser cette fonctionnalité.
<KitchenSink> qui rend un spécimen de chaque entrée FormKit (utile pour le style).state.required à l'objet contexte (rend l'ajout d'astérisques aux entrées obligatoires plus facile).aria-required aux éléments <input>, <select> et <textarea> lorsqu'ils sont requis (#984).force-show au composant <FormKitSummary> pour forcer l'affichage du résumé même s'il n'y a pas d'erreurs visibles.create-theme pour l'outil CLI formkit pour créer un nouveau thème à partir de @formkit/theme-starter.node.submit() lorsqu'il était à l'intérieur de la racine fantôme d'un élément personnalisé (#1057).<FormKitProvider> (et les fournisseurs associés) (#1013).invalidDate vers la clé de locale validation (#953)min et max (en anglais) pour qu'il soit la clé de locale validation (#953)incomplete-message (sur les formulaires) d'être réactive (#1047).togglebuttons dans le thème par défaut Tailwind Genesis.togglebuttons.length.<KitchenSink> qui rend tous les spécimens d'entrée.data-has-multiple aux entrées file sur la section outer lorsqu'ils ont plusieurs fichiers.select avec des groupes d'options contenant des valeurs non-string (#986).autoImport de nuxt dans webpack (#983)create-app de l'outil cli formkit lors de l'installation de vite.@formkit/nuxt avec autoImport de ne pas inclure le composant FormKit (#995)@formkit/nuxt en mode autoImport où le contexte SSR n'était pas réinitialisé après chaque requête, entraînant des erreurs d'hydratation et une interface utilisateur cassée sur certaines entrées pro.@formkit/nuxt avec l'option autoImport activée.select prend désormais en charge les options groupées (<optgroup>) (#426).@formkit/nuxt comprend désormais une option expérimentale autoImport qui ne charge FormKit que sur les pages où il est utilisé plutôt que globalement. Cela supprimera FormKit de votre fichier d'entrée. Nous prévoyons de faire de cela le comportement par défaut et encourageons tous ceux qui utilisent le module nuxt actuel à essayer la nouvelle option.prefix-icon et suffix-icon aux entrées créées avec createInput().colorpicker.color.<FormKitProvider :config="yourConfig"> — un composant qui définit une nouvelle limite de configuration. Tous les composants <FormKit> qui sont imbriqués sous un <FormKitProvider> hériteront de leur configuration à partir de cet emplacement.<FormKitLazyProvider> qui vérifie une limite supérieure <Suspense> (si elle n'est pas trouvée, elle en injecte une) et injecte un composant <FormKitConfigLoader>.<FormKitConfigLoader>. Un composant asynchrone qui effectue un import dynamique pour un fichier de configuration.Note : Les nouveaux composants listés ci-dessus sont actuellement expérimentaux et seront documentés davantage lorsque l'API se stabilisera.
<FormKit> qui provoque une erreur TypeScript dans Vue Language Tools (Volar) > 1.8.11.@formkit/*.alpha, alphanumeric, et contains_* pour le jeu de caractères latin.Avec cette version, nous déclarons officiellement FormKit stable et prêt pour la production. De nombreux membres de la communauté utilisent déjà FormKit en production depuis plus d'un an maintenant et sont très satisfaits des résultats. Nous espérons que vous le serez aussi !
De plus, FormKit Pro est maintenant disponible pour le grand public (aucun accès anticipé requis). FormKit Pro est toujours en Beta, et nous travaillons dur pour le préparer à une version stable.
<FormKitSummary> qui liste automatiquement toutes les erreurs et les messages de validation dans un formulaire avec des liens de saut vers chacun (a11y).radio, checkbox, et range (a11y).4.5:1 (a11y).file inclut maintenant le nom du fichier dans le bouton de suppression de fichier (a11y).file se recentre maintenant après la suppression d'un fichier (a11y).config.StepHandlers et MultiStepHandlers et BeforeStepChangeData pour aider à taper des entrées multi-étapes.datetime-local ne résolvaient pas leurs typages de slot.Nous ne parlons pas de Bruno.
meta. Les entrées Meta sont uniquement en mémoire et ajoutent des données à votre formulaire sans les afficher à l'utilisateur ou rendre quoi que ce soit sur la page. Docs Meta.number à text, number, range, et hidden inputs qui convertit la valeur en un nombre en utilisant parseInt ou parseFloat et élargit ou réduit la définition du type de la valeur pour correspondre.id en double lorsqu'ils étaient utilisés dans une liste dynamique (#908).stepIndex et steps à la définition du type d'entrée step.nl.FocusEvent optionnel à la définition du type de context.handlers.blur.autoHeightTextareaPlugin et améliore considérablement sa précision de redimensionnement (#888)tet et lt (#886)barcode disponible via le package @formkit/barcode. Documentation Barcodedropdown :
whenAvailable de @formkit/utils fait référence dynamiquement à son contexte de document, facilitant l'utilisation de FormKit dans le shadow DOM des composants web. #837dropdown, autocomplete et taglist.#empty pour l'entrée repeater pour afficher le contexte lorsqu'il n'y a pas de valeurs. Documentation Repeaterlt)repeater respecte l'état désactivé de son formulaire parent. #579taglist accepte les options vides. #586autocomplete avec la directive @focus de Vue. #670taglist accepte des valeurs en dehors de sa liste d'options. #681datepicker lors de la navigation au clavier en mode picker-only. #736pointer-events: none aux boutons de type submit dans le slot actions. #790taglist respecte la prop max avec open-on-click activé. #793autocomplete avec selectionAppearance défini sur option pour fonctionner avec la prop open-on-click. #817eq de @formkit/utils. #819datepicker lors du démarrage avec year. #827taglist respecte la prop max avec close-on-select désactivé. #838formkit-icon s'aligne avec config.rootClasses. #859datepicker Safari en modifiant le bouton d'ouverture en div role="button". #864dropdown, autocomplete, taglist) peuvent maintenant rendre des valeurs qui ne font pas partie de leur liste d'options. #877<FormKitRoot>. Ce composant fournit un contexte sur l'élément racine (Document ou ShadowRoot). Lors de l'utilisation de FormKit à l'intérieur d'un élément personnalisé (composant Web), enveloppez un ou plusieurs entrées FormKit dans <FormKitRoot> pour assurer un fonctionnement correct.node.props.__root et context.__root qui fait référence à l'élément racine actuel du nœud (Document | ShadowRoot).mult-step se bloquerait lors du rendu des steps dans une boucle v-for ou lors du rendu conditionnel d'une étape via un schéma. #823 #825data-empty aux enveloppes outer d'entrée pour des raisons de style. #777runtimeConfig — voir les nouveaux documents dans le guide du assistant d'installation. #795blur pourrait provoquer des erreurs de console lors du changement de route. #776null provoquerait une erreur. #780multistep.css. #783:model-value qui ne mettait pas à jour les valeurs des nœuds internes de FormKit. #785node.next(), node.previous() et node.goTo() pour les entrées multi-step via le plugin MultiStep. Cela permet un contrôle externe plus facile de la navigation des entrées multi-step. #685node.restoreCache() pour le plugin localStorage permettant de restaurer les valeurs de formulaire en cache en cas d'échec de la soumission. #727multi-step. #720blur pouvait provoquer des erreurs de console lors du changement de route. #735beforeStepChange fonctionne maintenant avec les appels de fonction async. #743file ne permettaient pas de télécharger à nouveau le même fichier après avoir appelé reset. #762fk-.text réutilisaient le premier schéma(#719)FormKitValidationMessage pour aider à taper les fonctions de message de validation (#695)key, control, debounce, beforeSave et beforeLoad.group. par exemple (form, group, multi-step, etc).value d'un slot n'était pas mise à jour dans certains cas limites (#717).dynamic de la liste vous permet de créer facilement vos propres répéteurs.require_one (merci @devoidofgenius), contains_alpha, contains_alphanumeric, contains_alpha_space, contains_symbol, contains_uppercase, contains_lowercase, contains_numeric, symbol, uppercase, et lowercase (merci @riderx).textarea avec une hauteur redimensionnable dynamiquement.commitRaw qui se déclenche même s'il n'y a pas de changement dans la valeur de l'entrée.FormKitSchema peut maintenant utiliser un seul nœud racine (au lieu d'un fragment)v-show fonctionnent maintenant et qu'il n'est généralement plus nécessaire d'ajouter une key aux entrées dynamiques (#528).node.reset() deviennent la nouvelle valeur par défaut pour l'entrée (#621).zh-TW)lv)tet)node.extend().@input et suppression du rebond maintenant inutile sur l'événement de changement.@formkit/observer observera désormais les changements de node._value dans les cas où vous souhaitez opérer sur la valeur d'entrée non rebondie.range dans @formkit/icons a été mise à jour pour ne montrer qu'une seule poignée de contrôle puisque les entrées de plage HTML ne supportent pas plusieurs valeurs. L'ancienne icône à plusieurs poignées a été réaffectée pour la nouvelle entrée slider de FormKit Pro.repeater imbriquées de s'hydrater correctement (#458).repeater imbriquées étaient supprimées (#457).@blur sur une entrée personnalisée (#413).v-model ne déclenchait des événements d'entrée que sur chaque autre entrée (#463)node.walk() se terminait prématurément lors de l'utilisation de stopOnFalse.La Beta 16 est la première version de FormKit qui n'a pas d'identifiant de pré-lancement. La Beta 16 et toutes les versions bêta restantes seront publiées sous la version sémantique 0.x.x. La première version stable sera 1.0.0 et est prévue pour plus tard cette année. Ce changement de versionnement devrait aider à la résolution des dépendances du gestionnaire de paquets alors que nous terminons nos cycles de sortie en bêta.
overlay.dirty-behavior qui permet aux utilisateurs d'opter pour un comportement compare qui compare la valeur actuelle de l'entrée à la valeur originale de l'entrée. Si l'entrée est ramenée à son état original, le drapeau context.state.dirty reviendra à faux.options (utilisée dans select, radio, checkboxes et certains inputs pro) peut maintenant différencier les valeurs null et undefined.@formkit/nuxt et la coloration syntaxique.dirty d'une entrée non liée était incorrectement défini sur true lorsqu'un objet (comme un groupe) était mis à jour (#520).submitted comme les enfants du formulaire lors d'une soumission de formulaire infructueuse (#503).Cette version ajoute de nouveaux plugins de première partie au package @formkit/addons, expédie des corrections de bugs et des mises à jour de style pour les utilisateurs de CSS et Tailwind CSS.
@formkit/addons. Livré avec un style CSS autonome que vous pouvez importer et qui fonctionne bien avec notre thème genesis. Consultez la documentation complète ici.text (text, email, url, etc) et textarea avec le nouveau plugin de labels flottants dans @formkit/addons. Consultez la documentation complète ici.Next et Previous à l'objet de localisation de l'interface utilisateur pour une utilisation dans les plugins et les inputs personnalisés.@formkit/themes.:focus-visible aux boutons pour montrer l'état de focus lors de l'utilisation de la navigation au clavier.loading manquants pour les boutons submit dans le thème Genesis de Tailwind CSS.Cette version corrige certains problèmes pour les utilisateurs de Tailwind qui ont été introduits dans beta.13.
@formkit/themes/tailwindcss pour n'inclure qu'un export default du plugin FormKitVariants.@formkit/themes/dist/tailwindcss/genesis.! à $remove: afin de ne pas entrer en conflit avec l'opérateur ! intégré de Tailwind qui ajoute !important à une règle de style.<FormKitMessages> qui permet de déplacer les messages de validation et d'erreur d'un formulaire et la capacité pour les entrées group et list d'afficher leurs propres messages d'erreur et de validation.! pour supprimer sélectivement une classe existante sans avoir besoin d'utiliser la syntaxe d'objet longue forme. par exemple outer-class="my-class !formkit-outer" ajoute my-class et supprime la classe formkit-outer par défaut.
Catalan (merci @petergithubmgw).checkbox et radio ont maintenant un attribut data-checked autour de leur enveloppe respective, ce qui facilite l'ajout de styles personnalisés pour les états cochés et non cochés.en, pt, zh).empty-message permet d'afficher un message dans listbox lorsqu'aucune option n'est passée (dropdown, autocomplete, et taglist). #502dropdown, autocomplete, taglist). #350max pour taglist et autocomplete avec des entrées multiple. #501closeOnSelect qui maintient la listbox déployée au fur et à mesure que les sélections sont effectuées (autocomplete multiple et taglist).forceExpanded qui force la listbox à rester ouverte à des fins de développement (dropdown, autocomplete, et taglist).disabled.date_after affichait un message de validation incorrect à cause des fuseaux horaires. #488v-model peuvent maintenant être initialisées comme undefined. #235validation-rules en ligne se récursaient de manière inattendue. #514sections-schema. #541disabled avait besoin de null au lieu de false pour rendre l'attribut data-disabled sur l'enveloppe extérieure. #511v-if sur le bloc <template v-slot>). #489sections-schema.taglist où des options en double étaient chargées depuis l'API. #497taglist rendait des props en double lorsque la prop multiple était réglée sur false. #494options autocomplete se dupliquaient lorsqu'elles étaient utilisées rapidement, de manière répétée, ou avec du contenu collé. #431autocomplete et taglist ne pouvait pas être supprimée lorsque la valeur fournie était un objet littéral. #505listbox était toujours visible lorsqu'aucune option n'était passée. #504formkit.config.js.npx formkit create-app pour initialiser facilement de nouveaux projets FormKit.length dans toutes les langues.stopIfFalse sur la fonction walkTree.null n'a pas une bonne valeur #415.count:blocking n'était pas correctement émis dans les Repeaters.[Object object] après l'existence de la référence #368.3.0.0-rc.8 et 3.0.0-rc.9 #371 et #383.@formkit/themes/tailwindcss avec TypeScript #376.family optionnelle, qui ajoute un attribut data-family, et définit la valeur sur node.props.family. Ceci est utile pour appliquer des plugins et des styles à des "familles" entières d'entrées comme la famille de textes d'entrées, qui s'appliquerait à text, email, password, number, etc.forceTypeProp optionnelle qui assure que le node.props.type est initialisé comme une valeur donnée même si l'entrée est enregistrée sous un nom différent. Par exemple, myModifiedCheckbox pourrait toujours avoir node.props.type rapport "checkbox".data-multiple aux cases à cocher et aux radios lorsqu'ils ont plusieurs options.@submit-invalid aux entrées type="form". L'événement est déclenché lorsqu'un utilisateur tente de soumettre un formulaire mais qu'il a des entrées invalides.getValidationMessages à @formkit/validation qui extrait une Map des nœuds et de leurs messages de validation.decorator-icon aux cases à cocher et aux radios, facilitant l'utilisation de SVG personnalisés dans vos cases à cocher et radios.context.state.dirty des entrées à vrai lorsqu'un formulaire v-modelé était modifié (#311).node.reset() est appelé (#319).removeFiles de l'entrée de fichier a été renommée en fileRemove.fileRemove (précédemment removeFiles) utilisée pour rendre une balise <a>, cela a été changé en un button.@formkit/inputs ont été remplacés par des "sections". Cela ne devrait affecter que les utilisateurs qui créaient leurs propres entrées à partir de composables préexistants.@formkit/cli. Modifiez les entrées existantes en ajoutant, supprimant, mettant à jour ou réorganisant les sections - ou ajoutez vos propres variations d'entrées exportées et modifiées à votre bibliothèque d'entrées.meta à la spécification du schéma (#248).theme dans defaultConfig()submit et setErrors.key de fonctionner lors de l'utilisation du raccourci $formkit dans le schéma (#232).@blur (#239).for sur les anciens navigateurs Safari (#299).input-errors réinitialisera désormais toutes les erreurs qu'elle a précédemment définies lorsqu'elle est définie sur un objet vide {} (#277).alpha et alpha_spaces (#281).tailwindcss, unocss, et windicss doivent maintenant être importés à partir de leur propre sous-chemin du paquet @formkit/themes. Par exemple :import formKitTailwindPlugin from '@formkit/themes/tailwindcss'
windicss, tailwindcss et unocss.update:model-value ne sera désormais émis que lors de l'utilisation de la directive v-model.input est maintenant différé pour réduire la quantité de bruit émis. Vous pouvez utiliser le nouveau input-raw pour écouter chaque événement d'entrée.setErrors sont maintenant automatiquement effacées lors de l'entrée par défaut. Pour revenir au comportement précédent, définissez preserveErrors: true dans votre objet de configuration global.@formkit/tailwindcss est maintenant obsolète — le plugin formKitTailwind et la fonction generateClasses ont été déplacés vers le paquet @formkit/themes.checkbox, radio, et select (entrées qui utilisent :options) peuvent maintenant utiliser n'importe quel type de données comme leur valeur comme des nombres, des objets, ou même null (#85).node.clearErrors et clearErrors pour aider à effacer les erreurs de backend d'une entrée ou d'un formulaire.node.setErrors() lors de l'entrée de l'utilisateur. Vous pouvez remplacer ce comportement par défaut (pour conserver l'erreur sur l'entrée) avec preserve-errors="true".node.addProps pour ajouter de nouvelles propriétés dans les plugins personnalisés.message pour modifier les messages lorsqu'ils sont définis.reset — émis après la réinitialisation d'un formulaire.index qui permet d'injecter des entrées à un index donné sur un type list parent.input du composant <FormKit> est maintenant différé, ce qui signifie qu'il émet beaucoup moins de bruit.import { features } from '@formkit/inputs'.input-raw au composant <FormKit> qui est émis pour chaque événement d'entrée unique dans une entrée, une liste, un groupe, ou un formulaire (très bruyant).input, input-raw, submit et submit-raw.dom-input-event qui a l'objet Event HTML natif comme charge utile.@formkit/themes inclut maintenant des exportations nommées pour les fonctions de plugin pour Tailwind CSS (formKitTailwind), Windi CSS (formKitWindi), et Uno CSS (formKitUno). En ajoutant le plugin correct à votre fichier de configuration de framework CSS, vous aurez accès à une variété de variantes formkit telles que formkit-invalid: et formkit-disabled:.@formkit/themes inclut maintenant la fonction d'aide generateClasses qui vous permet de fournir facilement différentes listes de classes à ${sectionKey}s en fonction du type d'entrée.v-model pour les structures profondément imbriquées comme les formulaires avec listes et groupes.null provoquaient des erreurs (#151)validation-visibility ne changeait pas lorsqu'il était mis à jour de manière réactive (#159)preserve bloquait certaines soumissions de formulaires (#145)@formkit/tailwind (#143)on-value ne recevaient pas leur valeur initiale lors de l'utilisation de la propriété :value.multiple="false" explicite et un espace réservé (#148).classes ne réagissait pas à la réactivité de Vue lors de l'utilisation de refs imbriquées (#155).disabled sur le formulaire sans spécifier disabled="true" (#215)alpha_spaces (#83)node.input() (#139)@submit (#130)data-loading a été déplacé du bouton de soumission d'un formulaire
à la balise <form> elle-même.@formkit/tailwindcss pour créer facilement des thèmes Tailwind pour vos formulaires FormKit. Consultez le guide Créer un thème CSS Tailwind pour plus de détails.reset programmatique. Cela peut être fait sur n'importe quelle entrée, groupe, formulaire, ou liste et cela restaurera la valeur à son état initial. Il réinitialise également l'objet context.state (comme blurred et dirty).aria-describedby et aria-live à tous les types d'entrée fournis. aria-describedby cible désormais le texte d'aide, les messages de validation, et les messages d'erreur (étiquetage fourni par les balises <label> qui utilisent l'attribut for).undefined à leurs enfants. En d'autres termes, si un formulaire est v-modelé et que sa valeur est définie sur un objet vide {}, il effacera tout le formulaire.context.state.settled qui signale lorsque le cycle de rebond interne de l'entrée est terminé et qu'une valeur a fini d'être engagée dans le formulaire.data-submitted aux entrées qui ont été soumises.fileName (merci @santi).parent qui accepte un nœud central pour des cas d'utilisation avancés où les entrées sont découplées de leur formulaire ou où une structure de données est souhaitée.input-class) à l'intérieur des schémas ne respectaient pas correctement la commande $reset car elle était traitée comme une variable (#61).file-list-class ou file-item-class (#120).import '@formkit/themes/genesis.node.submit() (y compris tout nœud enfant du formulaire).this.$formkit.submit('form-id') (pour l'api de composition, c'est submitForm('form-id')).setErrors DX :
node.setErrors(nodeErrors, childErrors).setErrors supporte maintenant la chaîne pure node.setErrors('Mon erreur')<FormKit> est maintenant disponible via la référence de modèle.data-invalid à la section outer lorsqu'une entrée a des messages de validation échoués qui sont actuellement affichés (exemple de terrain de jeu).data-errors à la section outer lorsque l'entrée a des erreurs explicitement placées (via prop ou setErrors).data-complete à la section outer lorsqu'une entrée (exemple de terrain de jeu) :
context.state :
state.rules - vrai lorsque l'entrée a des règles de validation.state.errors - vrai lorsque l'entrée a des erreurs explicites placées sur elle.state.complete - même logique que data-complete.state.validationVisible - vrai lorsque la condition validation-visibility est remplie (elle montre des erreurs de validation s'il y en a).node.setErrors.context.state avec de nouvelles propriétés et de meilleures descriptions.file de déclencher des événements onChange personnalisés (#90).id vers le DOM.:value sur les formulaires était modifiée lors de l'entrée (#72).prop:{propName} émis par les propriétés par défaut et les propriétés définies par l'entrée personnalisée (#73)beta.3 allait être une si grande version que nous avons décidé de la sauter et de passer directement à beta.4 👀 ! Juste pour rire. Nous avons eu des problèmes avec npm et avons dû augmenter 🤦.@formkit/nuxt est un module Nuxt 3 complet qui rend l'utilisation de FormKit avec Nuxt 3 aussi simple que possible !defaultConfig inclut maintenant un nouveau package @formkit/dev qui décode les codes d'erreur de FormKit en messages de console utiles (aucune action requise) (#56).preserve s'applique maintenant à tous les descendants (#53).@formkit/i18n (#54).@formkit !options qui est stockée dans une variable externe (#55)placeholder sur les entrées de sélection était supprimé si quelque chose provoquait le re-rendu de l'entrée (#52).submit-behavior pour se désinscrire des nouveaux formulaires automatiquement désactivés.bindings dans le package @formkit/vue.button et submit sont automatiquement ignorés.messages dans le defaultConfig pour permettre des substitutions partielles aux locales. Cela permet des substitutions de messages sélectives pour les locales déjà enregistrées (#42).$: undefined donnerait la valeur undefined au lieu de la chaîne "undefined").options ne s'hydrataient pas correctement lorsqu'elles étaient repeuplées à partir d'un group, list, ou form (#45).options ne s'affichaient pas correctement lorsqu'il manquait la prop label (#41).validation-behavior sur le composant <FormKit> en validation-visibility.schema sur le composant <FormKit> en sections-schema.file avec support pour certaines fonctionnalités à valeur ajoutée :
createInput pour faciliter l'écriture des entrées personnalisées.incomplete-message permet une personnalisation en ligne (ou la désactivation) du message affiché par un formulaire lorsqu'il tente de soumettre et que toutes ses entrées ne sont pas valides.defaultConfig pour accepter les entrées personnalisées.props et attrs avec __raw__ pour passer la valeur brute au lieu de son résultat analysé (#36).plugin.library — le mécanisme que les plugins utilisent pour définir de nouveaux types d'entrée..vue, .js, formkit.config.js et tailwind.config.js.@submit et @submit-raw.length et between pour toujours placer le nombre inférieur en premier (#35).:options n'acceptait pas les valeurs numériques.v-if), elle supprime maintenant sa valeur des données du formulaire et désenregistre son nœud central.preserve permet aux entrées de ne pas supprimer leurs données des groupes, listes et formulaires lorsqu'elles sont supprimées.placeholder ne s'affichait pas lorsque la propriété venait après la propriété options.input-errors ou les méthodes $formkit.setErrors(). En savoir plus à ce sujet sur les docs du formulaire.$formkit.setLocale() change réactivement la langue de tous les messages affichés.rootConfig qui est utilisé pour stocker la configuration de base globale et les valeurs de propriété (refonte significative du système de configuration).FormKitObservedNode.length peut désormais prendre des arguments max/min dans n'importe quel ordre length:15,5 ou length:5,15 évaluent la même chose.getNode pour accéder directement à un nœud FormKit en utilisant l'API de composition.@formkit/theme.list lors de l'affichage des erreurs de validation.node.input() de déclencher la réactivité dans Vue.$formkit pour utiliser les entrées FormKit dans un schéma (Issue #15).disabled sur les entrées de formulaire, de liste et de groupe qui désactive automatiquement toutes les entrées enfants (Issue #16).submitAttrs sur les formulaires qui vous permet de passer des attributs au bouton de soumission du formulaire.ignore qui empêche les données d'une entrée d'être utilisées dans un formulaire.children d'un composant FormKit. (Issue #21).rootClasses renvoie incorrectement undefined (Issue #17).submit_x (Issue #22).$cmp à se remonter si l'objet racine du schéma était réinitialisé, provoquant une re-analyse complète (Issue #14).