useFormKitContext
para acesso ao objeto de contexto do componente pai FormKit
— ou qualquer outro componente FormKit
na árvore. Opcionalmente, você pode fornecer um callback de efeito que é executado quando o contexto está disponível.useFormKitContextById
para acesso ao objeto de contexto de qualquer componente FormKit
com um id explícito. Opcionalmente, você pode fornecer um callback de efeito que é executado quando o contexto está disponível.useFormKitNodeById
para acesso ao objeto de nó de qualquer componente FormKit
com um id explícito. Opcionalmente, você pode fornecer um callback de efeito que é executado quando o nó está disponível.type
do componente FormKit (#1241).stopWatch
ao pacote @formkit/core
que permite desregistrar recibos da função watchRegistry
.getNode<T>()
.@nuxt/tailwindcss
que inclui automaticamente o arquivo formkit.theme.ts
no conteúdo do tailwind.currency
e unit
.library
aos componentes FormKit
e FormKitMessages
que permite incluir componentes adicionais para o esquema de entrada, por exemplo, ao usar sections-schema
para modificar a entrada (#1145) (#1137).value
de um componente FormKit
que recebe um FormKitTypeDefinition
agora é inferido do FormKitTypeDefinition
.changeLocale
que fazia com que o locale atualizado não fosse usado em novos nós (#1143).@formkit/icons
(#1184).FormKitIcon
ao recurso autoImport
do módulo Nuxt (#1168).BeforeStepChangeData
(#1224).datetime-local
(#1129).peerDependency
de @formkit/vue
para reduzir os incidentes de múltiplas instâncias do Vue no mesmo projeto (#1160).role="button"
aos wrappers de ícones quando um evento de clique é adicionado ao ícone (#1210).O argumento type
do componente FormKit
agora requer um tipo correspondente no tipo FormKitInputProps
para suporte ao TypeScript. Se você está usando entradas personalizadas e forneceu uma ampliação de módulo para FormKitInputProps
, você precisará atualizar o tipo FormKitInputProps
para incluir seus tipos.
npx formkit theme
.prefix
ao calcular a posição da etiqueta. (#878)@formkit/cli
para permitir a geração de temas publicados localmente em seus projetos. Veja a nova documentação aqui. (#1170)multi-step
não permitia substituições de esquema para as seções tabs
ou tab
. (1110)FormKitKitchenSink
para incluir novos presets de $options
que podem ser usados nos exemplos de esquema buscados dinamicamente para autores de temas.1.5.0
que fazia com que o context.value não sincronizasse corretamente com o node.value
dentro de estruturas de grupos aninhados (#1133).FormKit 1.5.0 chega com uma nova versão de desenvolvimento do FormKit. No desenvolvimento, o FormKit agora usa versões ligeiramente diferentes de seus pacotes que incluem melhorias adicionais na experiência do desenvolvedor. Isso é semelhante a como o Vue tem versões de "desenvolvimento" e "produção", e permite que o FormKit ofereça uma experiência de desenvolvedor aprimorada, como suporte melhorado ao HMR e mensagens de erro melhores.
A base agora está preparada para uma experiência de desenvolvedor muito melhorada em lançamentos futuros. Este lançamento também inclui dezenas de correções de bugs e melhorias.
createInput
agora suporta um terceiro argumento, sectionsSchema, que permite estender as seções padrão que vêm com createInput
(#882).didMount
e evento de nó mounted
para reconhecer quando o componente <FormKit>
é montado no DOM (#0b8753d).node.children
são observados por @formkit/observer
, isso permite que regras de validação acessem node.children
com reatividade.changeLocale
que altera globalmente o locale de todos os formulários com Options API, Composition API e autoimport do Nuxt (#1112)allow_non_alpha
e allow_numeric
.npx formkit create-app
) para usar o sistema de temas do themes.formkit.com.options
(select, checkbox, radio, autocomplete etc) agora contam corretamente seu valor __mask
(#1046).autoImport
do @formkit/nuxt
(1095, e outros).node.clearErrors()
sempre remove erros locais àquele nó (#941)createInput()
(#1105).data-complete
em grupos/listas (#1038).true
ou false
(#989).Vitest não usa automaticamente os mesmos parâmetros de nó (condições) que o Vite usa (veja #4971). Se você encontrar falhas em seus testes após atualizar, você pode adicionar o seguinte ao seu arquivo vitest.config.js
:
export default defineConfig({
resolver: {
conditions: process.env.VITEST ? ['development'] : undefined
},
test: {
// ...configuração do vitest
}
})
Vite deve estar em ~1.2.x
ou superior para usar esse recurso.
<KitchenSink>
que renderiza um espécime de cada entrada do FormKit (útil para estilização).state.required
ao objeto de contexto (facilita a adição de asteriscos em entradas obrigatórias).aria-required
aos elementos <input>
, <select>
e <textarea>
quando são obrigatórios (#984).force-show
ao componente <FormKitSummary>
para forçar a exibição do resumo mesmo que não haja erros visíveis.create-theme
para a ferramenta CLI formkit
para criar um novo tema a partir de @formkit/theme-starter
.node.submit()
falhasse quando dentro da raiz de sombra de um elemento personalizado (#1057).<FormKitProvider>
(e provedores relacionados) (#1013).invalidDate
para a chave de local validation
(#953)min
e max
(en
) para ser a chave de local validation
(#953)incomplete-message
(em formulários) fosse reativa (#1047).togglebuttons
no tema padrão Tailwind Genesis.togglebuttons
.length
.<KitchenSink>
que renderiza todos os espécimes de entrada.data-has-multiple
às entradas file
na seção outer
quando possuem vários arquivos.select
com grupos de opções contendo valores não-string (#986).autoImport
do nuxt no webpack (#983)create-app
da ferramenta cli formkit
ao instalar vite
.@formkit/nuxt
com autoImport
não incluísse o componente FormKit (#995)@formkit/nuxt
no modo autoImport
onde o contexto SSR não estava sendo redefinido após cada solicitação, levando a erros de hidratação e UI quebrada em algumas entradas profissionais.@formkit/nuxt
com a opção autoImport
ativada.select
agora suporta opções agrupadas (<optgroup>
) (#426).@formkit/nuxt
agora inclui uma opção experimental autoImport
que carrega o FormKit apenas nas páginas em que é usado, em vez de globalmente. Isso removerá o FormKit do seu arquivo de entrada. Planejamos eventualmente tornar isso o comportamento padrão e incentivamos todos que usam o módulo nuxt atual a experimentar a nova opção.prefix-icon
e suffix-icon
para inputs criados com createInput()
.colorpicker
.color
.<FormKitProvider :config="yourConfig">
— um componente que define um novo limite de configuração. Qualquer componente <FormKit>
que esteja aninhado abaixo de um <FormKitProvider>
herdará sua configuração deste local.<FormKitLazyProvider>
que verifica um limite superior de <Suspense>
(se não encontrado, ele injeta um) e injeta um componente <FormKitConfigLoader>
.<FormKitConfigLoader>
. Um componente assíncrono que realiza uma importação dinâmica para um arquivo de configuração.Nota: Os novos componentes listados acima estão atualmente em fase experimental e serão documentados mais adiante à medida que a API se estabilizar.
<FormKit>
que causa um erro TypeScript nas Ferramentas de Linguagem Vue (Volar) > 1.8.11
.@formkit/*
.alpha
, alphanumeric
e contains_*
para o conjunto de caracteres latin
.Com este lançamento, estamos oficialmente declarando o FormKit estável e pronto para produção. Muitos membros da comunidade já estão usando o FormKit em produção há mais de um ano e estão muito satisfeitos com os resultados. Esperamos que você também esteja!
Além disso, FormKit Pro agora está disponível para o público em geral (sem necessidade de acesso antecipado). FormKit Pro ainda está em Beta, e estamos trabalhando duro para prepará-lo para um lançamento estável.
<FormKitSummary>
que lista automaticamente todos os erros e mensagens de validação em um formulário com links de salto para cada um (a11y).radio
, checkbox
e range
(a11y).4.5:1
(a11y).file
agora inclui o nome do arquivo no botão de remover arquivo (a11y).file
agora refoca após a remoção de um arquivo (a11y).config
.StepHandlers
e MultiStepHandlers
e BeforeStepChangeData
para auxiliar na digitação de entradas de múltiplos passos.datetime-local
não resolvessem suas tipagens de slot.Nós não falamos sobre Bruno.
meta
. As entradas meta são apenas em memória e adicionam dados ao seu formulário sem exibi-los ao usuário ou renderizar qualquer coisa na página. Documentação Meta.number
para as entradas text
, number
, range
e hidden
que converte o valor para um número usando parseInt
ou parseFloat
e expande ou contrai a definição do tipo do valor para corresponder.id
duplicados quando usados em uma lista dinâmica (#908).stepIndex
e steps
à definição de tipo da entrada step
.nl
).FocusEvent
opcional à definição de tipo de context.handlers.blur
.autoHeightTextareaPlugin
e melhora significativamente a precisão do seu redimensionamento (#888)tet
e lt
(#886)barcode
disponível através do pacote @formkit/barcode
. Documentação do Barcodedropdown
:
whenAvailable
de @formkit/utils
referencia dinamicamente seu contexto de documento, facilitando o uso do FormKit dentro do shadow DOM de componentes web. #837dropdown
, autocomplete
e taglist
.#empty
para o input repeater
para exibir contexto quando não há valores. Documentação do Repeaterlt
)repeater
respeita o estado desativado de seu formulário pai. #579taglist
aceita opções vazias. #586autocomplete
com a diretiva @focus
do Vue. #670taglist
aceita valores fora de sua lista de opções. #681datepicker
na navegação por teclado no modo picker-only
. #736pointer-events: none
para botões do tipo submit no slot actions
. #790taglist
respeita a propriedade max com open-on-click
ativado. #793autocomplete
com selectionAppearance
definido como option
para trabalhar com a propriedade open-on-click
. #817eq
de @formkit/utils
. #819datepicker
ao iniciar com year
. #827taglist
respeita a propriedade max com close-on-select
desativado. #838formkit-icon
se alinha com config.rootClasses
. #859datepicker
no Safari, modificando o botão de abrir para uma div com role="button"
. #864dropdown
, autocomplete
, taglist
) agora podem renderizar valores que não fazem parte de sua lista de opções. #877<FormKitRoot>
. Este componente fornece contexto sobre o elemento raiz (Document
ou ShadowRoot
). Ao usar o FormKit dentro de um Elemento Personalizado (Web Component), envolva um ou mais inputs do FormKit em <FormKitRoot>
para garantir a funcionalidade adequada.node.props.__root
e context.__root
que referencia o elemento raiz atual do nó (Document | ShadowRoot
).mult-step
quebraria ao renderizar steps
em um loop v-for
ou renderizar condicionalmente um passo via esquema. #823 #825data-empty
aos invólucros de entrada outer
para fins de estilização. #777runtimeConfig
— veja os novos documentos no guia do assistente de instalação. #795blur
poderia causar erros no console na mudança de rota. #776null
causaria um erro. #780multistep.css
. #783:model-value
que não atualizava os valores internos do nó FormKit. #785node.next()
, node.previous()
, e node.goTo()
para entradas multi-step
através do plugin MultiStep. Isso permite um controle externo mais fácil da navegação de entrada multi-step
. #685node.restoreCache()
para o plugin localStorage para permitir a restauração de valores de formulário para o cache em caso de falha no envio. #727multi-step
. #720blur
poderia causar erros no console na mudança de rota. #735beforeStepChange
agora funciona com chamadas de função async
. #743file
não permitiriam o reenvio do mesmo arquivo após chamar reset
. #762fk-
.text
reutilizassem o primeiro esquema(#719)FormKitValidationMessage
para ajudar a digitar funções de mensagem de validação (#695)key
, control
, debounce
, beforeSave
, e beforeLoad
.group
. ex (form
, group
, multi-step
, etc).value
de um slot não fosse atualizada em alguns casos de borda (#717).dynamic
de lista permite que você crie seus próprios repetidores facilmente.require_one
(obrigado @devoidofgenius), contains_alpha
, contains_alphanumeric
, contains_alpha_space
, contains_symbol
, contains_uppercase
, contains_lowercase
, contains_numeric
, symbol
, uppercase
, e lowercase
(obrigado @riderx).textarea
com altura redimensionável dinamicamente.commitRaw
que dispara mesmo se não houver alteração no valor da entrada.FormKitSchema
agora pode usar um único nó raiz (em vez de um fragmento)v-show
agora funcionam e adicionar uma key
a entradas dinâmicas geralmente não é mais necessário (#528).node.reset()
se tornam o novo valor padrão para a entrada (#621).zh-TW
)lv
)tet
)node.extend()
.@input
e removeu o debounce agora desnecessário no evento de mudança.@formkit/observer
agora observará as mudanças em node._value
em instâncias onde você deseja operar no valor de entrada não debounced.range
em @formkit/icons
foi atualizado para mostrar apenas uma alça de controle, pois as entradas de range HTML não suportam múltiplos valores. O antigo ícone de multi-alça foi reaproveitado para a nova entrada slider
do FormKit Pro.repeater
aninhadas não hidratassem corretamente (#458).repeater
aninhadas lançassem um erro ao serem removidas (#457).@blur
em uma entrada personalizada (#413).v-model
disparar eventos de entrada apenas em cada outra entrada (#463)node.walk()
terminar prematuramente ao usar stopOnFalse
.Beta 16 é a primeira versão do FormKit que não tem um identificador de pré-lançamento. Beta 16 e todas as versões beta restantes serão lançadas sob a versão semântica 0.x.x
. O primeiro lançamento estável será 1.0.0
e está previsto para o final deste ano. Esta mudança na versão deve ajudar na resolução de dependências do gerenciador de pacotes à medida que completamos nossos ciclos de lançamento beta.
overlay
.dirty-behavior
que permite aos usuários optar por um comportamento compare
que compara o valor atual da entrada com o valor original da entrada. Se a entrada for alterada de volta ao seu estado original, a flag context.state.dirty
voltará a ser falsa.options
(usada em select, radio, checkboxes e alguns inputs pro) agora pode diferenciar entre valores null
e undefined
.@formkit/nuxt
e o realce de sintaxe.dirty
de um input não relacionado fosse incorretamente definido como true
quando um objeto (como um grupo) era atualizado (#520).submitted
como os filhos do formulário em uma submissão de formulário malsucedida (#503).Este lançamento adiciona novos plugins de primeira parte ao pacote @formkit/addons
, envia correções de bugs e atualizações de estilo para usuários de CSS e Tailwind CSS.
@formkit/addons
. Vem com estilo CSS standalone que você pode importar e que funciona bem com nosso tema genesis
. Confira a documentação completa aqui.text
(text
, email
, url
, etc) e textarea
com o novo plugin de rótulos flutuantes em @formkit/addons
. Confira a documentação completa aqui.Next
e Previous
ao objeto de localização da UI para uso em plugins e inputs personalizados.@formkit/themes
.:focus-visible
aos botões para mostrar o estado de foco ao usar a navegação por teclado.loading
ausentes para botões submit
no tema Genesis do Tailwind CSS.Este lançamento aborda alguns problemas para usuários do Tailwind que foram introduzidos no beta.13
.
@formkit/themes/tailwindcss
para incluir apenas uma exportação default
do plugin FormKitVariants
.@formkit/themes/dist/tailwindcss/genesis
.!
para $remove:
para não entrar em conflito com o operador !
integrado do Tailwind que adiciona !important
a uma regra de estilo.<FormKitMessages>
que permite a realocação das mensagens de validação e erro de um formulário e a capacidade de entradas group
e list
exibirem suas próprias mensagens de erro e validação.!
para remover seletivamente uma classe existente sem precisar usar a sintaxe de objeto de formulário longo. ex outer-class="my-class !formkit-outer"
adiciona my-class
e remove a classe padrão formkit-outer
.checkbox
e radio
agora têm um atributo data-checked
em torno de seu respectivo wrapper, facilitando a adição de estilos personalizados para estados verificados vs não verificados.en
, pt
, zh
).empty-message
permite que a mensagem seja renderizada na listbox quando nenhuma opção é passada (dropdown
, autocomplete
e taglist
). #502dropdown
, autocomplete
, taglist
). #350max
para taglist
e autocomplete
com entradas multiple
. #501closeOnSelect
manterá a listbox
expandida à medida que as seleções são feitas (autocomplete
múltiplo e taglist
).forceExpanded
força a listbox
a permanecer aberta para fins de desenvolvimento (dropdown
, autocomplete
e taglist
).disabled
.date_after
mostrava uma mensagem de validação incorreta por causa dos fusos horários. #488v-model
agora podem ser inicializados como undefined
. #235validation-rules
inline recursassem inesperadamente. #514sections-schema
. #541disabled
precisasse de null
em vez de false
para renderizar o atributo data-disabled
no wrapper externo. #511v-if
no bloco <template v-slot>
). #489sections-schema
.taglist
onde opções duplicadas eram carregadas da API. #497taglist
renderizava props duplicadas quando a prop multiple
estava definida como false
. #494options
de autocomplete
estavam duplicando quando usadas rapidamente, repetidamente ou com conteúdo colado. #431autocomplete
e taglist
não podia ser removido quando o valor fornecido era um objeto literal. #505listbox
ainda estava visível quando nenhuma option
era passada. #504formkit.config.js
.npx formkit create-app
para inicializar facilmente novos projetos FormKit.length
em todos os idiomas.stopIfFalse
na função walkTree
.null
não tinha um bom valor #415.count:blocking
não estava sendo emitido corretamente em Repeaters.[Object object]
ser exibido após a referência existir #368.3.0.0-rc.8
e 3.0.0-rc.9
#371 e #383.@formkit/themes/tailwindcss
com TypeScript #376.family
opcional, que adiciona um atributo data-family
e define o valor em node.props.family
. Isso é útil para aplicar plugins e estilos a "famílias" inteiras de entradas, como a família de entradas de texto, que se aplicaria a text
, email
, password
, number
, etc.forceTypeProp
opcional que garante que o node.props.type
seja inicializado como um valor dado, mesmo que a entrada seja registrada sob um nome diferente. Por exemplo, myModifiedCheckbox
ainda poderia ter node.props.type
reportando "checkbox".data-multiple
a checkboxes e rádios quando eles têm várias opções.@submit-invalid
a entradas type="form"
. O evento é acionado quando um usuário tenta enviar um formulário, mas ele tem entradas inválidas.getValidationMessages
a @formkit/validation
que extrai um Map de nós e suas mensagens de validação.decorator-icon
a checkboxes e rádios, facilitando o uso de SVGs personalizados em seus checkboxes e rádios.context.state.dirty
dos inputs se tornassem verdadeiros quando um formulário v-modelado era editado (#311).node.reset()
é chamado (#319).removeFiles
do input de arquivo foi renomeada para fileRemove
.fileRemove
(anteriormente removeFiles
) costumava renderizar uma tag <a>
, isso foi alterado para um button
.@formkit/inputs
foram substituídos por "seções". Isso deve afetar apenas os usuários que estavam criando seus próprios inputs a partir de composables pré-existentes.@formkit/cli
. Altere os inputs existentes adicionando, removendo, atualizando ou reordenando seções - ou adicione suas próprias variações de input exportadas e alteradas à sua biblioteca de inputs.meta
à especificação de esquema (#248).theme
em defaultConfig()
submit
e setErrors
.key
não funcionar ao usar o atalho $formkit
no esquema (#232).@blur
(#239).for
em navegadores Safari antigos (#299).input-errors
agora irá resetar quaisquer erros que tenha definido anteriormente quando for definida como um objeto vazio {}
(#277).alpha
e alpha_spaces
(#281).tailwindcss
, unocss
e windicss
agora devem ser importados de seu próprio subcaminho do pacote @formkit/themes
. Por exemplo:import formKitTailwindPlugin from '@formkit/themes/tailwindcss'
windicss
, tailwindcss
e unocss
.update:model-value
agora só será emitido ao usar a diretiva v-model
.input
agora é amortecido para reduzir a quantidade de ruído emitido. Você pode usar o novo input-raw
para ouvir cada evento de input.setErrors
agora são automaticamente limpos no input por padrão. Para reverter para o comportamento anterior, defina preserveErrors: true
em seu objeto de configuração global.@formkit/tailwindcss
agora está obsoleto — tanto o plugin formKitTailwind
quanto a função generateClasses
foram movidos para o pacote @formkit/themes
.checkbox
, radio
e select
(inputs que usam :options
) agora podem usar qualquer tipo de dado como seu valor, como números, objetos ou até mesmo null
(#85).node.clearErrors
e clearErrors
para auxiliar na limpeza de erros de backend de um input ou formulário.node.setErrors()
no input do usuário. Você pode substituir este comportamento padrão (para manter o erro no input) com preserve-errors="true"
.node.addProps
para adicionar novas props em plugins personalizados.message
para modificar mensagens à medida que estão sendo definidas.reset
— emitido após um formulário ser resetado.index
que permite que os inputs sejam injetados em um determinado índice em um tipo list
pai.input
do componente <FormKit>
agora é amortecido, o que significa que emite muito menos ruído.import { features } from '@formkit/inputs'
.input-raw
ao componente <FormKit>
que é emitido para cada evento de input único em um input, lista, grupo ou formulário (muito ruidoso).input
, input-raw
, submit
e submit-raw
.dom-input-event
que tem o objeto Event
HTML nativo como payload.@formkit/themes
agora inclui exportações nomeadas para funções de plugin para Tailwind CSS (formKitTailwind
), Windi CSS (formKitWindi
) e Uno CSS (formKitUno
). Ao adicionar o plugin correto ao arquivo de configuração do seu framework CSS, você terá acesso a uma variedade de variantes formkit como formkit-invalid:
e formkit-disabled:
.@formkit/themes
agora inclui a função auxiliar generateClasses
que permite que você forneça facilmente diferentes listas de classes para ${sectionKey}
s com base no tipo de input.v-model
para estruturas profundamente aninhadas como formulários com listas e grupos.null
gerassem erros (#151)validation-visibility
não mudasse quando atualizado reativamente (#159)preserve
bloqueasse algumas submissões de formulário (#145)@formkit/tailwind
(#143)on-value
não tivessem seu valor inicial definido ao usar a prop :value
.multiple="false"
explícito e um placeholder (#148).classes
não reagisse à reatividade do Vue ao usar refs aninhados (#155).disabled
no formulário sem especificar disabled="true"
(#215)alpha_spaces
(#83)node.input()
(#139)@submit
(#130)data-loading
foi movido do botão de envio de um formulário
para a tag <form>
em si.@formkit/tailwindcss
para criar facilmente temas Tailwind para seus formulários FormKit. Confira o guia Criar um tema Tailwind CSS para mais detalhes.reset
. Isso pode ser feito em qualquer input, grupo, formulário, ou lista e irá restaurar o valor de volta ao seu estado inicial. Também reseta o objeto context.state
(como blurred
e dirty
).aria-describedby
e aria-live
a todos os tipos de input fornecidos. aria-describedby
agora direciona para o texto de ajuda, mensagens de validação, e mensagens de erro (rotulagem fornecida por tags <label>
que usam o atributo for
).undefined
aos seus filhos. Em outras palavras, se um formulário é v-modelado e seu valor é definido como um objeto vazio {}
, ele irá limpar todo o formulário.context.state.settled
que sinaliza quando o ciclo de debounce interno do input terminou e um valor terminou de ser comprometido com o formulário.data-submitted
aos inputs que foram enviados.fileName
(obrigado @santi).parent
que aceita um nó central para casos de uso avançados onde os inputs são desacoplados de seu formulário ou estrutura de dados é desejada.input-class
) dentro dos esquemas não respeitassem adequadamente o comando $reset
porque era tratado como uma variável (#61).file-list-class
ou file-item-class
(#120).import '@formkit/themes/genesis
.node.submit()
(incluindo qualquer nó filho do formulário).this.$formkit.submit('form-id')
(para api de composição é submitForm('form-id')
).setErrors
DX:
node.setErrors(nodeErrors, childErrors)
.setErrors
agora suporta string pura node.setErrors('My error')
<FormKit>
agora está disponível via ref de template.data-invalid
à seção outer
quando uma entrada tem mensagens de validação falhando que estão atualmente sendo exibidas (exemplo no playground).data-errors
à seção outer
quando a entrada tem erros explicitamente colocados (via prop ou setErrors
).data-complete
à seção outer
quando uma entrada (exemplo no playground):
context.state
:
state.rules
- verdadeiro quando a entrada tem regras de validação.state.errors
- verdadeiro quando a entrada tem erros explícitos colocados nela.state.complete
- mesma lógica que data-complete
.state.validationVisible
- verdadeiro quando a condição validation-visibility
é atendida (está mostrando erros de validação, se houver).node.setErrors
.context.state
com novas propriedades e melhores descrições.file
acionassem eventos onChange
personalizados (#90).id
no DOM.:value
nos formulários fosse alterada na entrada (#72).prop:{propName}
emitidos por props padrão e props de entrada personalizadas definidas (#73)beta.3
seria um lançamento tão bom que decidimos pular e ir direto para beta.4
👀! Brincadeira. Tivemos problemas com o npm e tivemos que aumentar 🤦.@formkit/nuxt
é um módulo Nuxt 3 completo que torna o uso do FormKit com Nuxt 3 o mais simples possível!defaultConfig
agora inclui um novo pacote @formkit/dev
que decodifica os códigos de erro do FormKit em mensagens úteis do console (nenhuma ação necessária) (#56).preserve
agora se aplica a todos os descendentes (#53).@formkit/i18n
(#54).@formkit
!options
que é armazenada em uma variável externa (#55)placeholder
em entradas de seleção fosse removido se algo causasse a re-renderização da entrada (#52).submit-behavior
para optar por não usar os novos formulários automaticamente desabilitados.bindings
no pacote @formkit/vue
.button
e submit
são automaticamente ignorados.messages
para o defaultConfig
para permitir substituições parciais para locais. Isso permite substituições de mensagens seletivas para locais já registrados (#42).$: undefined
produziria o valor undefined
em vez da string "indefinido").options
não hidratassem corretamente quando repopuladas a partir de um group
, list
, ou form
(#45).options
não exibissem corretamente quando faltava a propriedade label (#41).validation-behavior
no componente <FormKit>
para validation-visibility
.schema
no componente <FormKit>
para sections-schema
.file
nativo com suporte para alguns recursos adicionais:
createInput
para facilitar a escrita de entradas personalizadas.incomplete-message
permite personalização inline (ou desativação) da mensagem exibida por um formulário quando ele tenta enviar e todas as suas entradas não são válidas.defaultConfig
para aceitar entradas personalizadas.props
e attrs
com __raw__
para passar o valor bruto em vez de seu resultado analisado (#36).plugin.library
— o mecanismo que os plugins usam para definir novos tipos de entrada..vue
, .js
, formkit.config.js
e tailwind.config.js
.@submit
e @submit-raw
.length
e between
para sempre colocar o número menor primeiro (#35).:options
não aceitava valores numéricos.v-if
), agora remove seu valor dos dados do formulário e desregistra seu nó central.preserve
permite que as entradas não removam seus dados de grupos, listas e formulários quando são removidos.placeholder
não fosse renderizado quando a prop veio depois da prop options
.input-errors
ou os métodos $formkit.setErrors()
. Leia mais sobre isso na documentação do formulário.$formkit.setLocale()
muda reativamente o idioma de todas as mensagens exibidas.rootConfig
que é usado para armazenar a configuração base global e os valores das propriedades (refatoração significativa do sistema de configuração).FormKitObservedNode
.child
emitido quando um pai tem um filho adicionado a ele.length
agora pode receber argumentos max/min em qualquer ordem length:15,5
ou length:5,15
avaliam o mesmo.getNode
para acessar diretamente um nó FormKit usando a API de composição.@formkit/theme
.list
às vezes lançassem uma exceção ao exibir erros de validação.node.input()
de acionar a reatividade no Vue.$formkit
para usar entradas FormKit em um esquema (Issue #15).disabled
em formulários, listas e entradas de grupo que desativa automaticamente todas as entradas filhas (Issue #16).submitAttrs
em formulários permite que você passe atributos para o botão de envio do formulário.ignore
que impede que os dados de uma entrada sejam usados em um formulário.children
de um componente FormKit. (Issue #21).rootClasses
retornar incorretamente undefined
(Issue #17).submit_x
(Issue #22).$cmp
falhassem ao remontar se o objeto raiz do esquema fosse redefinido, causando uma reanálise completa (Issue #14).