Makuco UI
ComponentesData Entry & Selection

TableInput

Campo de edição para células de tabela (`mk-table-input`), sem rótulo visível e com borda inferior, que participa de formulários nativos.

O mk-table-input edita um valor dentro de uma célula de tabela. O campo não tem rótulo visível, só a borda inferior, e participa de formulários nativos. O valor é confirmado com Enter ou ao sair do campo (mkChange), e Esc volta ao valor de quando o campo recebeu foco. O mk-datagrid usa o mesmo visual nas colunas editable.

Padrão

label é obrigatório e vira o aria-label do campo. Inclua no rótulo a linha e a coluna.

import { MkTableCell, MkTableInput } from '@db1/makuco-ui-react';

<MkTableCell>
  <MkTableInput
    label="Quantidade de Caneta"
    value={quantidade}
    placeholder="0"
    onMkChange={(e) => setQuantidade(e.detail)}
  />
</MkTableCell>
<mk-table-cell>
  <mk-table-input
    label="Quantidade de Caneta"
    [value]="quantidade"
    placeholder="0"
    (mkChange)="quantidade = $event.detail"
  ></mk-table-input>
</mk-table-cell>

Máscara

mask aplica a mesma máscara do mk-input. value e os eventos trazem o valor sem máscara. Com brl e number, o valor é uma string decimal em unidades, como no mk-input-number e no mk-datagrid: "19.90" aparece como R$ 19,90. O valor é sempre string, por ser um campo de formulário; nas colunas editable do mk-datagrid, o valor segue o tipo da linha (19.9 ou "19.90").

<MkTableInput label="Preço de Caneta" mask="brl" value="19.90" />
<mk-table-input label="Preço de Caneta" mask="brl" value="19.90"></mk-table-input>

Somente leitura e desabilitado

<MkTableInput label="Quantidade" value="42" readonly />
<MkTableInput label="Quantidade" value="42" disabled />
<mk-table-input label="Quantidade" value="42" [readonly]="true"></mk-table-input>
<mk-table-input label="Quantidade" value="42" [disabled]="true"></mk-table-input>

Props — mk-table-input

PropTipoPadrãoDescrição
labelstring—Obrigatório. Nome acessível do campo (aria-label).
valuestring""Valor sem máscara. Com brl e number, string decimal em unidades ("19.90").
namestring—Nome do campo no formulário.
placeholderstring—Texto exibido com o campo vazio.
mask"cpf" | "cnpj" | "cep" | "brl" | "number" | "date" | "time"—Máscara aplicada na digitação.
disabledbooleanfalseDesabilita o campo e o tira do formulário.
readonlybooleanfalseMostra o valor sem permitir edição.

Eventos

EventoComponentePayloadDescrição
mkInputmk-table-inputstringA cada tecla, com o valor sem máscara.
mkChangemk-table-inputstringAo confirmar (Enter ou saída do campo) um valor diferente do anterior.

Acessibilidade

  • <input type="text"> nativo com aria-label vindo de label.
  • O host usa delegatesFocus: focar o mk-table-input foca o campo.
  • Form-associated (ElementInternals): envia value com o name e volta ao valor inicial no reset do formulário.
  • Foco por teclado com o anel padrão (--stroke-info).
TeclaComportamento
EnterConfirma o valor (mkChange).
EscVolta ao valor de quando o campo recebeu foco.
TabConfirma o valor e sai do campo.

On this page