Como mudar o type do input de acordo com o tipo de dado no banco?

case data type input angular

Uso o *ngIf na view comparando o tipo de dado vindo do banco, assim:

Abaixo segue os exemplos de input na view.

<input type="date" *ngIf="linha.tipo == 'date'" class="form-control" id="{{linha.coluna}}" #input value="{{linha.valor}}" placeholder="Informe o Conteúdo sobre {{ linha.coluna }}" />

<input type="number" *ngIf="linha.tipo == 'int4'" class="form-control" id="{{linha.coluna}}" #input value="{{linha.valor}}" placeholder="Informe o Conteúdo sobre {{ linha.coluna }}" />

<input type="text" *ngIf="linha.tipo == 'numeric'" class="form-control" id="{{linha.coluna}}" #input value="{{ linha.valor }}" placeholder="0,00"  />

Nos exemplos acima o input só irá aparecer quando o campo for de determinado tipo de dado date, int4 ou numeric.

Sendo usado o type para o tipo date, date mesmo, para int4 number e para numeric text. Pois os tipos de dados do html não são os mesmos do banco por isso no numeric do banco uso o text que seria varchar ou seja qualquer texto, string.

Essas informações que formam a linha vem do banco de dados. É feito uma query que pega o column_name e o data_type e coloco ele no array linhas que dá origem ao linha com ngFor.

Quer acompanhar as novidade do site?

Leia mais em: ngular.io/

Como mudar o type do input de acordo com o tipo de dado no banco?

Última atualização: 2023-02-15