Início rápido da instalação Pro 🚀

Exemplo básico

A entrada toggle — às vezes chamada de "interruptor" — oferece uma escolha entre um de dois valores; é uma ótima opção quando você quer que o usuário ative ou desative um recurso:

Carregar exemplo ao vivo

Valores

Os valores para a alternância são undefined se não interagidos, true se marcados e false se desmarcados. Você pode alterar esses valores passando as propriedades onValue e offValue. Neste exemplo, definiremos o onValue para a string 'active' e o offValue para a string 'inactive':

Carregar exemplo ao vivo

Rótulos

Rótulo primário

Por padrão, a entrada de alternância suporta um rótulo primário como a propriedade label em qualquer outra entrada do FormKit. O rótulo primário é exibido à direita da alternância, a menos que você use um Rótulo de valor, que então o moverá acima da alternância:

Carregar exemplo ao vivo

Posição do rótulo alternativo

Se você deseja que o rótulo seja exibido acima da alternância, você pode usar a propriedade alt-label-position:

Carregar exemplo ao vivo

Rótulo de valor

Além disso, você pode especificar rótulos secundários definindo as propriedades on-value-label e off-value-label. Esses valores são mostrados condicionalmente com base no estado ligado/desligado da alternância. Os rótulos de valor são renderizados à direita da entrada de alternância. O "rótulo primário" será movido para a posição de rótulo alternativo acima da alternância quando rótulos de valor forem usados:

Carregar exemplo ao vivo

Rótulos de valor internos

Além disso, você pode definir a propriedade value-label-display como inner para renderizar os rótulos de valor dentro da alternância. O Rótulo primário voltará a ser exibido à direita da alternância:

Carregar exemplo ao vivo

Ícones

A propriedade thumb-icon permite inserir um ícone na seção thumb da entrada de toggle. Esta propriedade aceita uma string que é passada para o plugin de ícones do FormKit:

Carregar exemplo ao vivo

Cores

O input de alternância suporta propriedades de cores para suas diversas seções para facilitar a estilização. Cada propriedade contém estados de ligado e desligado que são aplicados dependendo de o interruptor estar ligado ou desligado. O exemplo a seguir usa algumas dessas propriedades de cores. Veja a seção Props & Atributos abaixo para uma lista completa dessas propriedades:

Carregar exemplo ao vivo

O input toggle é construído sobre o input de checkbox nativo do HTML.

Props & Atributos

PropTypePadrãoDescrição
alt-label-positionBooleanundefinedMove o rótulo para acima do interruptor.
off-valueanyfalseO valor quando o interruptor está desmarcado.
on-valueanytrueO valor quando o interruptor está marcado.
off-value-labelStringundefinedO texto do rótulo de Valor quando o interruptor está desmarcado.
on-value-labelStringundefinedO texto do rótulo de Valor quando o interruptor está marcado.
value-label-displayStringundefinedOs rótulos de valor `on` e `off` sempre serão exibidos por padrão fora e à direita do interruptor. Outros valores aceitos incluem `inner` para definir os rótulos de valor dentro do interruptor, e `hidden` que esconde os rótulos de valor.
value-label-color-offStringundefinedUsado para definir a cor do rótulo de valor quando o interruptor está desmarcado.
value-label-color-onStringundefinedUsado para definir a cor do rótulo de valor quando o interruptor está marcado.
thumb-iconStringundefinedEsta propriedade é usada para definir o ícone que será colocado dentro da seção do polegar.
thumb-color-offStringundefinedDefine a cor de fundo da seção do polegar quando o interruptor está desmarcado.
thumb-color-onStringundefinedDefine a cor de fundo da seção do polegar quando o interruptor está marcado.
icon-color-offStringundefinedA cor que o ícone deve ter quando a propriedade `toggle-icon` está definida e o interruptor está desmarcado.
icon-color-onStringundefinedA cor que o ícone deve ter quando a propriedade `toggle-icon` está definida e o interruptor está marcado.
track-color-offStringundefinedDefine a cor de fundo da seção `track` quando o interruptor está desmarcado.
track-color-onStringundefinedDefine a cor de fundo da seção `track` quando o interruptor está marcado.
Mostrar Universal props
configObject{}Opções de configuração a serem fornecidas para o nó do input e qualquer nó descendente deste input.
delayNumber20Número de milissegundos para debounce do valor do input antes de despachar o commit hook.
dirtyBehaviorstringtouchedDetermina como o indicador "dirty" deste input é definido. Pode ser configurado como touched ou compare - touched (o padrão) é mais performático, mas não detectará quando o formulário corresponder novamente ao seu estado inicial.
errorsArray[]Array de strings para exibir como mensagens de erro neste campo.
helpString''Texto para o texto de ajuda associado ao input.
idStringinput_{n}O ID único do input. Fornecer um ID também permite acesso global ao nó do input.
ignoreBooleanfalseImpede que um input seja incluído em qualquer pai (grupo, lista, formulário etc). Útil ao usar inputs para a interface do usuário em vez de valores reais.
indexNumberundefinedPermite que um input seja inserido no índice fornecido, se o pai for uma lista. Se o valor do input for indefinido, ele herda o valor dessa posição de índice. Se ele tiver um valor, ele o insere nos valores da lista no índice fornecido.
labelString''Texto para o elemento label associado ao input.
nameStringinput_{n}O nome do input como identificado no objeto de dados. Isso deve ser único dentro de um grupo de campos.
parentFormKitNodecontextualPor padrão, o pai é um grupo, lista ou formulário de envolvimento, mas essa prop permite a atribuição explícita do nó pai.
prefix-iconString''Especifica um ícone para colocar na seção prefixIcon.
preservebooleanfalsePreserva o valor do input em um grupo pai, lista ou formulário quando o input é desmontado.
preserve-errorsbooleanfalsePor padrão, os erros definidos em inputs usando setErrors são automaticamente limpos no input. Definir essa prop como true mantém o erro até que ele seja explicitamente limpo.
sections-schemaObject{}Um objeto de chaves de seção e valores parciais de esquema, em que cada esquema parcial é aplicado à seção respectiva.
suffix-iconString''Especifica um ícone para colocar na seção suffixIcon.
typeStringtextO tipo de input a ser renderizado pela biblioteca.
validationString, Array[]As regras de validação a serem aplicadas ao input.
validation-visibilityStringblurDetermina quando mostrar as regras de validação com falha de um input. Os valores válidos são blur, dirty e live.
validation-labelString{label prop}Determina qual rótulo usar nas mensagens de erro de validação, por padrão, usa a propriedade label, se disponível, caso contrário, usa a propriedade name.
validation-rulesObject{}Regras de validação personalizadas adicionais para disponibilizar na propriedade de validação.
valueAnyundefinedInicializa o valor do input e/ou de seus filhos. Não é reativo. Pode inicializar grupos inteiros (formulários) e listas..

Seções

Você pode direcionar uma seção específica de uma entrada usando a "key" dessa seção, permitindo que você modifique as classes, HTML (por meio de :sections-schema ou o conteúdo (por meio de slots) dessa seção). Saiba mais sobre as seções aqui.

⚫️
Efeitos sonoros
Ative ou desative os efeitos sonoros.
Algo deu errado.
Section-keyDescrição
trackA seção track é o fundo do interruptor (a área em que o botão desliza).
thumbA seção thumb é o elemento que desliza na track.
thumbIconA seção thumbIcon é o ícone que é renderizado dentro da seção thumb (quando a propriedade thumb-icon é definida).
valueLabelUm elemento de rótulo adicional, renderizado quando as propriedades value-label são usadas. Exibido à direita do interruptor.
altLabelUm elemento de rótulo para o label. Este rótulo é renderizado quando as propriedades value-label estão sendo usadas.
innerLabelUm elemento de rótulo usado quando as propriedades value-label são fornecidas e value-label-display está definido como interno.
Mostrar Universal section keys
outerO elemento de envolvimento mais externo.
wrapperUm invólucro ao redor do rótulo e do input.
labelO rótulo do input.
prefixPor padrão, não gera saída, mas permite conteúdo diretamente antes de um elemento input.
prefixIconUm elemento para gerar um ícone antes da seção de prefixo.
innerUm invólucro ao redor do próprio elemento input.
suffixPor padrão, não gera saída, mas permite conteúdo diretamente após um elemento input.
suffixIconUm elemento para gerar um ícone após a seção de sufixo.
inputO próprio elemento input.
helpO elemento que contém o texto de ajuda.
messagesUm invólucro ao redor de todas as mensagens.
messageO elemento (ou muitos elementos) que contém uma mensagem - na maioria das vezes mensagens de validação e erros.

Acessibilidade

Todos os campos de entrada do FormKit são projetados levando em consideração as seguintes considerações de acessibilidade. Ajude-nos a melhorar continuamente a acessibilidade para todos, relatando problemas de acessibilidade aqui:

Marcação semânticaAtributos AriaAcessível por tecladoIndicadores de focoContraste de cores com o tema fornecidoEtiquetas acessíveis, texto de ajuda e erros
Chave de SeçãoAtributoPadrãoDescrição
altLabelforAssocia o rótulo a um elemento de entrada. Os usuários podem clicar no rótulo para focar a entrada ou alternar entre estados.
valueLabelforAssocia o rótulo a um elemento de entrada. Os usuários podem clicar no rótulo para focar a entrada ou alternar entre estados.
innerforAssocia o rótulo a um elemento de entrada. Os usuários podem clicar no rótulo para focar a entrada ou alternar entre estados.
Mostrar Universal chave de seção
labellabelforAssocia isso a um elemento de entrada, aprimorando acessibilidade e experiência do usuário
inputinputdisabledDesabilita um elemento HTML, impedindo a interação do usuário e sinalizando um estado não interativo
aria-describedbyAprimora a acessibilidade associando um elemento a uma descrição, auxiliando leitores de tela
aria-requiredAdiciona o estado necessário quando a validação é exigida.
iconiconforSempre que um ícone é definido como rótulo, ele o vincula a um elemento de entrada, aprimorando acessibilidade e experiência do usuário

Interações com o Teclado

Evento de TecladoDescrição
TabMove o foco para a próxima entrada focalizável na página.
Shift + TabMove o foco para a entrada focalizável anterior na página.