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:
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'
:
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:
Se você deseja que o rótulo seja exibido acima da alternância, você pode usar a propriedade alt-label-position
:
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:
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:
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:
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:
O input toggle
é construído sobre o input de checkbox nativo do HTML.
Prop | Type | Padrão | Descrição |
---|---|---|---|
alt-label-position | Boolean | undefined | Move o rótulo para acima do interruptor. |
off-value | any | false | O valor quando o interruptor está desmarcado. |
on-value | any | true | O valor quando o interruptor está marcado. |
off-value-label | String | undefined | O texto do rótulo de Valor quando o interruptor está desmarcado. |
on-value-label | String | undefined | O texto do rótulo de Valor quando o interruptor está marcado. |
value-label-display | String | undefined | Os 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-off | String | undefined | Usado para definir a cor do rótulo de valor quando o interruptor está desmarcado. |
value-label-color-on | String | undefined | Usado para definir a cor do rótulo de valor quando o interruptor está marcado. |
thumb-icon | String | undefined | Esta propriedade é usada para definir o ícone que será colocado dentro da seção do polegar. |
thumb-color-off | String | undefined | Define a cor de fundo da seção do polegar quando o interruptor está desmarcado. |
thumb-color-on | String | undefined | Define a cor de fundo da seção do polegar quando o interruptor está marcado. |
icon-color-off | String | undefined | A cor que o ícone deve ter quando a propriedade `toggle-icon` está definida e o interruptor está desmarcado. |
icon-color-on | String | undefined | A cor que o ícone deve ter quando a propriedade `toggle-icon` está definida e o interruptor está marcado. |
track-color-off | String | undefined | Define a cor de fundo da seção `track` quando o interruptor está desmarcado. |
track-color-on | String | undefined | Define a cor de fundo da seção `track` quando o interruptor está marcado. |
Mostrar Universal props | |||
config | Object | {} | Opções de configuração a serem fornecidas para o nó do input e qualquer nó descendente deste input. |
delay | Number | 20 | Número de milissegundos para debounce do valor do input antes de despachar o commit hook. |
dirtyBehavior | string | touched | Determina 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. |
errors | Array | [] | Array de strings para exibir como mensagens de erro neste campo. |
help | String | '' | Texto para o texto de ajuda associado ao input. |
id | String | input_{n} | O ID único do input. Fornecer um ID também permite acesso global ao nó do input. |
ignore | Boolean | false | Impede 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. |
index | Number | undefined | Permite 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. |
label | String | '' | Texto para o elemento label associado ao input. |
name | String | input_{n} | O nome do input como identificado no objeto de dados. Isso deve ser único dentro de um grupo de campos. |
parent | FormKitNode | contextual | Por 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-icon | String | '' | Especifica um ícone para colocar na seção prefixIcon . |
preserve | boolean | false | Preserva o valor do input em um grupo pai, lista ou formulário quando o input é desmontado. |
preserve-errors | boolean | false | Por 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-schema | Object | {} | Um objeto de chaves de seção e valores parciais de esquema, em que cada esquema parcial é aplicado à seção respectiva. |
suffix-icon | String | '' | Especifica um ícone para colocar na seção suffixIcon . |
type | String | text | O tipo de input a ser renderizado pela biblioteca. |
validation | String, Array | [] | As regras de validação a serem aplicadas ao input. |
validation-visibility | String | blur | Determina quando mostrar as regras de validação com falha de um input. Os valores válidos são blur , dirty e live . |
validation-label | String | {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-rules | Object | {} | Regras de validação personalizadas adicionais para disponibilizar na propriedade de validação. |
value | Any | undefined | Inicializa o valor do input e/ou de seus filhos. Não é reativo. Pode inicializar grupos inteiros (formulários) e listas.. |
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.
Section-key | Descrição |
---|---|
track | A seção track é o fundo do interruptor (a área em que o botão desliza). |
thumb | A seção thumb é o elemento que desliza na track. |
thumbIcon | A seção thumbIcon é o ícone que é renderizado dentro da seção thumb (quando a propriedade thumb-icon é definida). |
valueLabel | Um elemento de rótulo adicional, renderizado quando as propriedades value-label são usadas. Exibido à direita do interruptor. |
altLabel | Um elemento de rótulo para o label. Este rótulo é renderizado quando as propriedades value-label estão sendo usadas. |
innerLabel | Um 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 | |
outer | O elemento de envolvimento mais externo. |
wrapper | Um invólucro ao redor do rótulo e do input. |
label | O rótulo do input. |
prefix | Por padrão, não gera saída, mas permite conteúdo diretamente antes de um elemento input. |
prefixIcon | Um elemento para gerar um ícone antes da seção de prefixo. |
inner | Um invólucro ao redor do próprio elemento input. |
suffix | Por padrão, não gera saída, mas permite conteúdo diretamente após um elemento input. |
suffixIcon | Um elemento para gerar um ícone após a seção de sufixo. |
input | O próprio elemento input. |
help | O elemento que contém o texto de ajuda. |
messages | Um invólucro ao redor de todas as mensagens. |
message | O elemento (ou muitos elementos) que contém uma mensagem - na maioria das vezes mensagens de validação e erros. |
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:
Chave de Seção | Atributo | Padrão | Descrição |
---|---|---|---|
altLabel | for | Associa o rótulo a um elemento de entrada. Os usuários podem clicar no rótulo para focar a entrada ou alternar entre estados. | |
valueLabel | for | Associa o rótulo a um elemento de entrada. Os usuários podem clicar no rótulo para focar a entrada ou alternar entre estados. | |
inner | for | Associa 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 | |||
label | label | for | Associa isso a um elemento de entrada, aprimorando acessibilidade e experiência do usuário |
input | input | disabled | Desabilita um elemento HTML, impedindo a interação do usuário e sinalizando um estado não interativo |
aria-describedby | Aprimora a acessibilidade associando um elemento a uma descrição, auxiliando leitores de tela | ||
aria-required | Adiciona o estado necessário quando a validação é exigida. | ||
icon | icon | for | Sempre que um ícone é definido como rótulo, ele o vincula a um elemento de entrada, aprimorando acessibilidade e experiência do usuário |
Evento de Teclado | Descrição |
---|---|
Tab | Move o foco para a próxima entrada focalizável na página. |
Shift + Tab | Move o foco para a entrada focalizável anterior na página. |