- Notifications
You must be signed in to change notification settings - Fork221
Description
Descrição da melhoria
Permitir definirmais de uma máscara para inputs nopo-input
epo-dynamic-form
. Atualmente só é possível aplicar uma máscara fixa, o que limita o uso em campos que podem aceitar formatos diferentes, como CPF ou CNPJ.
Caso de uso
1.po-input
Ao utilizar o componente isoladamente, muitas vezes é necessário aceitar diferentes formatos de dados (ex: CPF ou CNPJ). Hoje, para contornar isso, precisamos aplicar diretivas externas ou criar lógica manual, o que foge do padrão do PO UI.
2.po-dynamic-form
No formulário dinâmico, não é possível nem mesmo usar uma lógica alternativa. O campomask
aceita apenas uma string fixa. Isso obriga a duplicar o campo (ex:cpf
ecnpj
) e adicionar lógica extra para exibir/esconder campos, o que quebra a fluidez e a simplicidade da abordagem dinâmica.
A melhoria permitiria que um único campo aceitasse múltiplas máscaras e aplicasse a correta conforme a digitação do usuário.
Exemplo ideal nopo-dynamic-form
:
{property:'documento',label:'Documento',type:'string',masks:['999.999.999-99','99.999.999/9999-99']}
Informações adicionais
- No
po-input
, ainda dá pra improvisar com diretivas externas, mas é gambiarra. - No
po-dynamic-form
, isso simplesmente não funciona hoje. - Libs como
ngx-mask
já têm suporte nativo para múltiplas máscaras. - A melhoria traria mais flexibilidade, melhor UX, e eliminaria a necessidade de criar campos redundantes ou lógica extra de exibição.