Exemplos

Uma ampla coleção de exemplos com código funcional que você pode usar em seu projeto hoje.

Formulários & estrutura

Adicionar classes ao botão de envio fornecido pelo FormKit

O tipo form adiciona automaticamente um botão de envio. Adicione classes para que sua interface possa se conformar aos estilos do seu projeto.

Usando uma lista para repetir uma entrada

Usando o tipo list, podemos criar entradas repetidoras que podem ter múltiplos valores. Este exemplo usa um loop para permitir que os usuários adicionem/removam endereços de e-mail.

Esquema

Mostrar condicionalmente uma entrada com base no valor de outra entrada

Use o componente FormKitSchema para mostrar condicionalmente uma entrada (com regras de validação) com base no valor de outra entrada.

Formulário de múltiplas etapas construído a partir de Esquema

Use o componente FormKitSchema para renderizar o formulário de múltiplas etapas a partir do guia de formulário de múltiplas etapas.

Botão de envio de esquema personalizado com estado desabilitado e spinner de carregamento

Crie um botão de envio personalizado com poder de esquema que desabilita dinamicamente enquanto o formulário está sendo enviado e fornece um spinner de carregamento.

Adicionar uma contagem regressiva de maxlength a uma área de texto

Adiciona uma simples contagem regressiva de caracteres restantes em uma área de texto com uma dica ao passar o mouse baseada na propriedade maxlength da área de texto.

Plugins

Adicionar um asterisco às etiquetas de todas as entradas obrigatórias

Use um plugin para adicionar um asterisco (*) à área da etiqueta das entradas que têm a regra "obrigatório".

Converter valores de entradas numéricas de strings para números

Use um plugin para converter valores de string para números. Útil se você deseja que entradas do tipo number retornem um primitivo JS Number.

Adicionar um ícone antes das mensagens de validação

Use um plugin para adicionar um ícone antes das mensagens de validação, estendendo a definição do esquema.

Definir valores iniciais como strings vazias em vez de indefinidos

Use um plugin para definir todos os valores iniciais de entrada como uma string vazia "" em vez de undefined.

Adicionar um spinner de carregamento manualmente acionável a entradas do tipo 'button'

Use um plugin para permitir que entradas da família button tenham um spinner de carregamento que pode ser acionado à vontade com uma nova propriedade loading.

Definir automaticamente o nome, a etiqueta e o texto de ajuda de uma entrada com base no id

Use um plugin para definir automaticamente as propriedades name, label e help de uma entrada com base no id. Reduz declarações repetitivas de propriedades no seu HTML.

Adiciona atributo para bibliotecas como @testing-library para testes

Um plugin que adiciona o atributo data-testid com o id do nó para bibliotecas de teste.

Rolar para a primeira validação ou erro no formulário.

Um plugin que rola automaticamente para o primeiro erro na página ao enviar ou quando erros do backend são adicionados.

Entradas

Entrada numérica com botões de passo personalizados

Uma entrada personalizada com botões de passo +1 e -1. Feita usando createInput().

Uma entrada de moeda com seletor de moeda

Uma entrada personalizada simples que permite aos usuários selecionar uma moeda e inserir um valor. Feita usando createInput().

Adicionar um link (tag <a>) a um rótulo

Use slots ou a funcionalidade :sections-schema para modificar o HTML de um rótulo.

Atualizar condicionalmente as opções de uma entrada de seleção

Atualize condicionalmente as opções de uma entrada de seleção com base no valor de outra entrada.

Estilizar opções de entrada de rádio para parecerem cartões

Usando apenas novos estilos (Classes Tailwind neste exemplo), aplique um tratamento de cartão à estrutura padrão de entrada de rádio do FormKit.

Interface do usuário

Adicionar um indicador de carregamento para regras de validação assíncronas

Adicione um spinner de carregamento à sua entrada quando uma regra de validação assíncrona estiver pendente de validação.

Manter o botão de envio desativado até que um formulário mude

Habilite um botão de salvar/enviar apenas se um usuário tiver alterado algum valor dentro de um formulário.

Adicionar transições às mensagens de validação

Adicione transições às mensagens de validação injetando um componente TransitionGroup do Vue usando o :sections-schema do FormKit.

Projeto inicial com Nuxt, FormKit e Tailwind

Um projeto inicial funcional no StackBlitz com Nuxt, FormKit e Tailwind CSS.

Produzir classes dinâmicas com base no estado de uma entrada

Use o objeto de configuração classes e as props do FormKit para produzir classes dinâmicas com base no estado da entrada. Útil para Tailwind e outras bibliotecas de utilitários CSS.

Criar variações reativas de UI das entradas do FormKit usando “features”

Crie variações de UI das entradas do FormKit (como botões) que se atualizam com base em dados reativos em seus componentes.