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.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).