MDUIDocs
Copiar link do llms.txtCopiar link do llms-full.txtVer esta página em MarkdownDiscutir esta página no ChatGPTDiscutir documentação completa do projeto no ChatGPT
Cores predefinidas
Cor personalizada
Extrair cor do papel de parede
Selecione um papel de parede
Primeiros Passos
Desenvolvimento assistido por IA
Estilos
Integração com Frameworks
Componentes
Avatar AvatarBadge BadgeBottomAppBar Barra de aplicativo inferiorButton BotãoButtonIcon Botão de íconeCard CardCheckbox CheckboxChip ChipCircularProgress Indicador de progresso circularCollapse CollapseDialog DiálogoDivider DivisorDropdown DropdownFab Botão de ação flutuanteIcon ÍconeLayout LayoutLinearProgress Indicador de progresso linearList ListaMenu MenuNavigationBar Barra de navegaçãoNavigationDrawer Gaveta de navegaçãoNavigationRail Trilho de navegaçãoRadio RadioRangeSlider Slider de intervaloSelect Campo de seleçãoSegmentedButton Botão segmentadoSlider SliderSnackbar SnackbarSwitch SwitchTabs AbasTextField Campo de textoTooltip TooltipTopAppBar Barra de aplicativo superior
Funções
Bibliotecas

TextFieldCampo de texto

O campo de texto permite que os usuários insiram texto na página, geralmente usado em formulários e diálogos.

Como usar

Importe o componente conforme necessário:

import 'mdui/components/text-field.js';

Importe o tipo TypeScript do componente conforme necessário:

import type { TextField } from 'mdui/components/text-field.js';

Exemplo de uso:

<mdui-text-field label="Text Field"></mdui-text-field>

Exemplos

Forma

Use o atributo variant para definir a forma do campo de texto.

Texto auxiliar

Use o atributo label para definir o texto do rótulo acima do campo de texto.

Use o atributo placeholder para definir o texto de espaço reservado quando não há valor.

Use o atributo helper para definir o texto de ajuda na parte inferior do campo de texto. Você também pode usar o slot helper para definir o texto de ajuda. Adicione helper-on-focus para exibir o texto de ajuda apenas quando o campo de texto está em foco.

Com limpeza

Use o atributo clearable para que, quando o campo de texto tiver um valor, um botão de limpeza apareça no lado direito.

Texto alinhado à direita

Use o atributo end-aligned para alinhar o texto à direita.

Texto e ícones antes/depois

Defina os atributos icon e end-icon para adicionar ícones do Material Icons à esquerda e à direita do campo de texto. Você também pode adicionar elementos pelos slots icon e end-icon.

Defina os atributos prefix e suffix para adicionar texto à esquerda e à direita do campo de texto. Esses textos só são exibidos quando o campo de texto está em foco ou tem um valor. Você também pode usar os slots prefix e suffix para adicionar elementos de texto.

Modo somente leitura

Use o atributo readonly para colocar o campo de texto no modo somente leitura.

Modo desabilitado

Use o atributo disabled para desabilitar o campo de texto.

Campo de texto multilinha

Use o atributo rows para definir o número de linhas do campo de texto multilinha.

Use o atributo autosize para fazer o campo de texto ajustar automaticamente a altura conforme o comprimento do conteúdo. Use os atributos min-rows e max-rows para especificar o número mínimo e máximo de linhas ao ajustar automaticamente a altura.

Contador de caracteres

Quando o número máximo de caracteres é definido pelo atributo maxlength, você pode adicionar o atributo counter para exibir o contador de caracteres abaixo do campo de texto.

Campo de senha

Quando type="password", adicione o atributo toggle-password para adicionar um botão de alternância de visibilidade da senha no lado direito do campo de texto.

API

Propriedades

AtributoPropriedadeReflectTipoPadrão
variantvariant'filled' | 'outlined''filled'

Forma do campo de texto. O padrão é filled. Os valores possíveis são:

  • filled: Campo de texto com cor de fundo; efeito visual mais forte.
  • outlined: Campo de texto com borda; efeito visual mais suave.
typetype'text' | 'number' | 'password' | 'url' | 'email' | 'search' | 'tel' | 'hidden' | 'date' | 'datetime-local' | 'month' | 'time' | 'week''text'

Tipo de entrada do campo de texto. O padrão é text. Os valores possíveis são:

  • text: Valor padrão. Campo de texto.
  • number: Permite apenas entrada de números. Em dispositivos com teclado dinâmico, exibe teclado numérico.
  • password: Usado para entrada de senha; o valor é ocultado.
  • url: Usado para entrada de URL; valida o formato da URL. Em dispositivos com teclado dinâmico, exibe teclado apropriado.
  • email: Usado para entrada de e-mail; valida o formato do e-mail. Em dispositivos com teclado dinâmico, exibe teclado apropriado.
  • search: Usado para caixa de pesquisa. Em dispositivos com teclado dinâmico, o ícone Enter se torna ícone de pesquisa.
  • tel: Usado para entrada de número de telefone. Em dispositivos com teclado dinâmico, exibe teclado numérico de telefone.
  • hidden: Oculta o controle, mas seu valor ainda é enviado ao servidor.
  • date: Controle para entrada de data (ano, mês, dia, sem hora). Em navegadores suportados, abre um seletor de data ou um seletor de rolagem numérica.
  • datetime-local: Controle para entrada de data e hora, sem fuso horário. Em navegadores suportados, abre um seletor de data ou um seletor de rolagem numérica.
  • month: Controle para entrada de mês e ano, sem fuso horário.
  • time: Controle para entrada de hora, sem fuso horário.
  • week: Controle para entrada de data composta por ano e número da semana, sem fuso horário.
namenamestring''

O nome do campo de texto, que será enviado com os dados do formulário.

valuevaluestring''

O valor do campo de texto, que será enviado com os dados do formulário.

defaultValuestring''

Valor padrão. Ao redefinir o formulário, será restaurado para este valor padrão. Esta propriedade só pode ser definida via propriedade JavaScript.

labellabelstring-

Texto do rótulo.

placeholderplaceholderstring-

Texto de placeholder.

helperhelperstring-

Texto de ajuda na parte inferior do campo de texto. Também pode ser definido via slot="helper".

helper-on-focushelperOnFocusbooleanfalse

Define se o texto de ajuda na parte inferior deve ser exibido apenas quando o campo recebe foco.

clearableclearablebooleanfalse

Define se o conteúdo do campo de texto pode ser limpo.

clear-iconclearIconstring-

Nome do ícone Material Icons para o botão de limpar, exibido à direita do campo de texto quando ele é limpável. Também pode ser definido via slot="clear-icon".

end-alignedendAlignedbooleanfalse

Define se o texto deve ser alinhado à direita.

prefixprefixstring-

Texto de prefixo do campo de texto. Exibido apenas quando o campo está focado ou tem valor. Também pode ser definido via slot="prefix".

suffixsuffixstring-

Texto de sufixo do campo de texto. Exibido apenas quando o campo está focado ou tem valor. Também pode ser definido via slot="suffix".

iconiconstring-

Nome do ícone Material Icons para o ícone de prefixo do campo de texto. Também pode ser definido via slot="icon".

end-iconendIconstring-

Nome do ícone Material Icons para o ícone de sufixo do campo de texto. Também pode ser definido via slot="end-icon".

error-iconerrorIconstring-

Nome do ícone Material Icons exibido à direita do campo de texto quando a validação do campo do formulário falha. Também pode ser definido via slot="error-icon".

formformstring-

O elemento <form> associado. O valor deste atributo deve ser o id de um elemento <form> na mesma página.

Se este atributo não for especificado, o elemento precisa ser um elemento filho de um <form>. Com este atributo, você pode colocar o elemento em qualquer lugar da página, não apenas como filho do elemento <form>.

readonlyreadonlybooleanfalse

Define se o componente está no modo somente leitura.

disableddisabledbooleanfalse

Define se a caixa de entrada está desabilitada.

requiredrequiredbooleanfalse

Define se, ao enviar o formulário, é obrigatório que este campo seja preenchido.

rowsrowsnumber-

Número fixo de linhas exibidas para o campo de texto.

autosizeautosizebooleanfalse

Define se a altura do campo de texto deve ser ajustada automaticamente com base no conteúdo digitado.

min-rowsminRowsnumber-

Número mínimo de linhas quando autosize é true.

max-rowsmaxRowsnumber-

Número máximo de linhas quando autosize é true.

minlengthminlengthnumber-

Número mínimo de caracteres permitido.

maxlengthmaxlengthnumber-

Número máximo de caracteres permitido.

countercounterbooleanfalse

Define se deve exibir a contagem de caracteres. Só é válido quando maxlength é especificado.

minminnumber-

Quando type é number, o valor mínimo permitido.

maxmaxnumber-

Quando type é number, o valor máximo permitido.

stepstepnumber-

Quando type é number, o incremento/decremento ao usar as setas.

patternpatternstring-

Expressão regular usada para validação do formulário.

toggle-passwordtogglePasswordbooleanfalse

Quando type é password, definir esta propriedade adiciona um botão para alternar entre texto visível e oculto.

show-password-iconshowPasswordIconstring-

Ícone Material Icons para o botão de alternância de senha, exibido quando a senha está visível. Também pode ser definido via slot="show-password-icon".

hide-password-iconhidePasswordIconstring-

Ícone Material Icons para o botão de alternância de senha, exibido quando a senha está oculta. Também pode ser definido via slot="hide-password-icon".

autocapitalizeautocapitalize'none' | 'sentences' | 'words' | 'characters'-

Atributo não padrão do iOS, usado para controlar se a primeira letra do texto é automaticamente capitalizada. Válido no iOS 5 e posteriores. Os valores possíveis são:

  • none: Desativa a capitalização da primeira letra.
  • sentences: Capitaliza a primeira letra de frases.
  • words: Capitaliza a primeira letra de palavras.
  • characters: Capitaliza todas as letras.
autocorrectautocorrectstring-

Atributo autocorrect do elemento <input>.

autocompleteautocompletestring-

Atributo autocomplete do elemento <input>.

enterkeyhintenterkeyhint'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send'-

Atributo enterkeyhint do elemento <input>, usado para personalizar o texto ou ícone exibido na tecla Enter do teclado virtual. A aparência real depende do dispositivo e idioma do usuário. Os valores possíveis são:

  • enter: Insere uma nova linha.
  • done: Conclui a entrada; fecha o teclado virtual.
  • go: Navega para o destino do texto inserido.
  • next: Move para o próximo campo de entrada.
  • previous: Move para o campo de entrada anterior.
  • search: Navega para os resultados da pesquisa.
  • send: Envia a mensagem de texto.
spellcheckspellcheckbooleanfalse

Define se a verificação ortográfica está habilitada.

inputmodeinputmode'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url'-

Atributo inputmode do elemento <input>, usado para personalizar o tipo de teclado virtual. Os valores possíveis são:

  • none: Sem teclado virtual. Útil quando se quer implementar seu próprio controle de entrada de teclado.
  • text: Teclado padrão para entrada de texto.
  • decimal: Teclado para entrada de números decimais, podendo incluir ponto decimal . ou vírgula de milhar ,.
  • numeric: Exibe teclado numérico de 0 a 9.
  • tel: Teclado numérico de telefone, incluindo dígitos de 0 a 9, asterisco * e cerquilha #.
  • search: Teclado virtual otimizado para entrada de pesquisa; o botão de envio geralmente exibe search ou "Pesquisar".
  • email: Teclado virtual otimizado para entrada de endereço de e-mail, geralmente com teclas como @, ..
  • url: Teclado virtual otimizado para entrada de URL, geralmente com teclas como ., /, #.
validityValidityState-

Objeto que representa o estado de validação do formulário. Consulte ValidityState para mais detalhes.

validationMessagestring-

Se a validação do formulário falhar, esta propriedade conterá uma mensagem de erro. Se a validação for bem-sucedida, esta propriedade será uma string vazia.

valueAsNumbernumber-

Obtém o valor atual e converte para o tipo number; ou define um valor do tipo number. Se o valor não puder ser convertido para number, retorna NaN.

autofocusautofocusbooleanfalse

Define se o elemento deve receber foco automaticamente após o carregamento da página.

tabindextabIndexnumber-

A ordem do elemento ao navegar com a tecla Tab.

Métodos

NomeParâmetrosRetorno
select
void

Seleciona o texto no campo de texto.

setSelectionRange
  • start: number
  • end: number
  • direction: 'forward' | 'backward' | 'none'
void

Seleciona um intervalo específico no campo de texto.

setRangeText
  • replacement: string
  • start: number
  • end: number
  • selectMode: 'select' | 'start' | 'end' | 'preserve'
void

Substitui um intervalo específico do texto no campo de texto por um novo texto.

checkValidity
boolean

Verifica se o campo do formulário passou na validação. Se não passou, retorna false e dispara o evento invalid; se passou, retorna true.

reportValidity
boolean

Verifica se o campo do formulário passou na validação. Se não passou, retorna false e dispara o evento invalid; se passou, retorna true.

Se a validação falhar, também exibe uma mensagem de erro no componente.

setCustomValidity
  • message: string
void

Define um texto de erro personalizado. Enquanto este texto não estiver vazio, indica que o campo não passou na validação.

click
void

Simula um clique do mouse no elemento.

focus
  • options: FocusOptions (Opcional)
void

Define o foco no elemento atual.

Você pode passar um objeto como argumento, com as seguintes propriedades:

  • preventScroll: Por padrão, após o elemento receber o foco, a página é rolada para que ele fique visível. Se você não quiser que a página role, defina esta propriedade como true.
blur
void

Remove o foco do elemento atual.

Eventos

Nome
focus

Disparado ao receber foco.

blur

Disparado ao perder o foco.

change

Disparado quando o valor do campo de texto muda e o campo perde o foco.

input

Disparado quando o valor do campo de texto muda.

invalid

Disparado quando a validação do campo do formulário falha.

clear

Disparado ao clicar no botão de limpar gerado pelo atributo clearable. Pode impedir a limpeza do campo de texto chamando event.preventDefault().

Slots

Nome
icon

Ícone à esquerda.

end-icon

Ícone à direita.

error-icon

Ícone à direita no estado de falha de validação.

prefix

Texto à esquerda.

suffix

Texto à direita.

clear-button

Botão de limpar.

clear-icon

Ícone dentro do botão de limpar.

toggle-password-button

Botão de alternância de visibilidade da senha.

show-password-icon

Ícone dentro do botão de alternância de senha no estado de senha visível.

hide-password-icon

Ícone dentro do botão de alternância de senha no estado de senha oculta.

helper

Texto de ajuda na parte inferior.

CSS Parts

Nome
container

Contêiner do campo de texto.

icon

Ícone à esquerda.

end-icon

Ícone à direita.

error-icon

Ícone à direita no estado de falha de validação.

prefix

Texto à esquerda.

suffix

Texto à direita.

label

Texto do rótulo acima.

input

Elemento <input> ou <textarea> interno.

clear-button

Botão de limpar.

clear-icon

Ícone dentro do botão de limpar.

toggle-password-button

Botão de alternância de visibilidade da senha.

show-password-icon

Ícone dentro do botão de alternância de senha no estado de senha visível.

hide-password-icon

Ícone dentro do botão de alternância de senha no estado de senha oculta.

supporting

Contêiner de informações auxiliares na parte inferior, incluindo helper, error, counter.

helper

Texto de ajuda na parte inferior.

error

Texto de descrição de erro na parte inferior.

counter

Contador de caracteres no canto inferior direito.

Nesta página