1
resposta

Implementar máscara em angular

Boa noite,

Estou tentando implamentar máscara de moeda usando o ngx-currency.

Coloquei em um campo do tipo input sem (change) e deu certo.

Porém ao colocar em um campo input com (change), o (change) parou de chamar e o campo fica sem nada. Obs: antes de implementar a máscara o change funcionava normalmente. Poderiam por gentileza me ajudar?

Input sem change (funciona): <input currencyMask [options]=" prefix: 'R$'. thousands: '.', decimal: ','}" *ngIf="showIQ" field="SolDes_ValorDif" id="SolDes_ValorDif" [(ngModel)]="ValorDif">

Input com change (não funciona): <input currencyMask [options]=" prefix: 'R$'. thousands: '.', decimal: ','}" *ngIf="showIQ" field="SolDes_ValorFin" id="SolDes_ValorFin" [(ngModel)]="ValorFin" (change)="carcularValorDif()">

Aproveitando, é possível usar esse tipo de máscara em um campo select?

Desde já obrigada!

1 resposta

Olá, Bianca! Tudo bem?

Acredito que o problema seja usar o ngModel com o change.

Você pode tentar com o evento input ((input)="calcularValorDif()"), ou com o ngModelChange ((ngModelChange)="atualizarValor($event)"). Perceba que no caso do ngModelChange, é preciso passar uma função que atualize o valor (porque estamos sobrescrevendo o comportamento do ngModel) que está sendo modelado. Assim, na mesma função, você pode chamar a calcularValorDif().

Espero ter ajudado!