Docs›Componentes (Admin)›mad-dbentry-field
Componentes (Admin)

mad-dbentry-field

Input texto com autocomplete AJAX.

Input text com autocomplete AJAX do banco. O usuario digita livremente e recebe sugestoes — o valor NAO precisa vir da lista (diferente do dbunique-search).

Props

Prop Tipo Default Descricao
name string '' Nome do campo (obrigatorio)
label string '' Label do campo
model string '' Classe do model Eloquent (obrigatorio)
database string MAIN_DATABASE Conexao do banco
column string '' Coluna a buscar e sugerir (obrigatorio)
query Builder null Eloquent/Query Builder pronto (alternativa a model+filters)
filters array [] [['campo','op','val'], ...]
min-length int 2 Chars minimos para disparar busca
placeholder string '' Placeholder
hint string '' Texto de ajuda
error string '' Mensagem de erro
required bool false
disabled bool false
readonly bool false
maxlength string '' Tamanho maximo
attrs string '' Atributos HTML extras

Uso basico

<mad-dbentry-field name="cidade" label="Cidade" model="Cidade" column="nome" />

Com filtros

<mad-dbentry-field name="bairro" label="Bairro" model="Endereco" column="bairro"
    :filters="[['estado_id', '=', '1']]" min-length="3" />

Quando usar dbentry vs dbunique-search vs dbcombo

Cenario Usar
Texto livre com sugestoes (cidade, bairro, cargo) <mad-dbentry-field>
Selecionar ID de um registro (FK) <mad-dbunique-search-field>
Lista fixa que cabe no DOM <mad-dbcombo-field>

Diferenca fundamental

  • dbentry-field: retorna texto livre (o que o usuario digitou). Sugestoes sao conveniencia.
  • dbunique-search-field: retorna ID do registro. Valor DEVE vir da lista.

NUNCA fazer

{{-- ERRADO: usar dbentry para selecionar FK --}}
<mad-dbentry-field name="cliente_id" model="Pessoa" column="nome" />
{{-- Retorna o nome digitado, nao o ID --}}

{{-- CERTO: usar dbunique-search para FK --}}
<mad-dbunique-search-field name="cliente_id" model="Pessoa" display="nome" />

{{-- ERRADO: usar input-field + autocomplete manual --}}
<mad-input-field name="cidade" label="Cidade" />
<script>/* logica manual de fetch */</script>

{{-- CERTO --}}
<mad-dbentry-field name="cidade" label="Cidade" model="Cidade" column="nome" />