Field
Estrutura para rótulo, controle e erro.
- Navegadores
- Chrome 123+Firefox 121+Safari 17.5+
- Nível
- 0
- Tamanho compactado
- 668 B
- Limite de layout forçado
- 0 ms
- Limite do axe
- 0
- Compatível com SSR
- Sim
- Contrato publicado
- Ambiente de teste
Experimentar
Field
Padrão
Your display name
Invalid
Enter a valid email address
Password
Use at least eight characters.
Message
Up to 500 characters.
Desativado
Read only
API
Field.Root
| Prop | Tipo | Padrão | Descrição |
|---|---|---|---|
id* | string | — | Id estável repassado por cada parte como fieldId, conectando rótulo, controle, descrição e erro na marcação do servidor. |
invalid | boolean | false | Marca o campo como inválido, expondo data-invalid para estilos. |
required | boolean | false | Marca o campo como obrigatório, expondo data-required para estilos. |
disabled | boolean | false | Marca o campo como desabilitado, expondo data-disabled para estilos. |
name | string | — | Aceito por compatibilidade de API; o nome pertence ao controle e não é renderizado na estrutura envolvente. |
render | ReactElement | ((props, state) => ReactElement) | — | Substitua o elemento renderizado preservando comportamento e conexões de acessibilidade. |
Field.Label
| Prop | Tipo | Padrão | Descrição |
|---|---|---|---|
fieldId* | string | — | O mesmo id fornecido a Field.Root, que resolve o htmlFor que aponta para o controle. |
disabled | boolean | false | Marca o rótulo como desabilitado, expondo data-disabled para estilos. |
required | boolean | false | Marca o rótulo como obrigatório, expondo data-required para estilos. |
Field.Control
| Prop | Tipo | Padrão | Descrição |
|---|---|---|---|
as | ElementType | "div" | Use input, textarea, select ou um controle personalizado. Props nativas, manipuladores de eventos, style e ref são encaminhados. |
type / name / autoComplete / minLength / maxLength / pattern / readOnly | native control props | — | As opções do input pertencem a Field.Control, incluindo type="password". A validação padrão e a semântica de FormData são preservadas. |
fieldId* | string | — | O mesmo id fornecido a Field.Root, que resolve o id do controle e suas conexões aria-labelledby e aria-describedby. |
disabled | boolean | false | Encaminha disabled nativo a input, textarea e select e expõe data-disabled. |
invalid | boolean | false | Define aria-invalid e adiciona a mensagem de erro ao aria-describedby do controle. |
required | boolean | false | Encaminha required nativo a input, textarea e select e define aria-required. |
render | ReactElement | ((props, state) => ReactElement) | — | Substitua o elemento renderizado preservando comportamento e conexões de acessibilidade. |
Field.Description
| Prop | Tipo | Padrão | Descrição |
|---|---|---|---|
fieldId* | string | — | O mesmo id fornecido a Field.Root, que resolve o id da descrição para a qual o controle aponta. |
disabled | boolean | false | Marca a descrição como desabilitada, expondo data-disabled para estilos. |
Field.Error
| Prop | Tipo | Padrão | Descrição |
|---|---|---|---|
fieldId* | string | — | O mesmo id fornecido a Field.Root, que resolve o id do erro para o qual o controle aponta quando inválido. |
invalid | boolean | false | Renderiza a mensagem de erro; a parte não renderiza nada enquanto isto for false. |
Teclado
| Tecla | Ação |
|---|---|
| Tab | Mova o foco para o controle ou para fora dele |
| Enter / Space | Ative quando estiver em foco (controles semelhantes a botões) |
Acessibilidade
Usa HTML semântico sempre que possível. Inspecione a marcação renderizada no ambiente interativo — ARIA só é adicionado quando os elementos nativos não bastam.
Pontos de integração de estilos
data-disabled