se limparmos o valor de entrada do número (torná-lo vazio), o filtro ideal não deve ser aplicado e todos os valores devem ser listados. No momento, se aplicarmos algum filtro colocando um número, digamos 5 na caixa de entrada, ele funcionará bem e todos os dados correspondentes a 5 serão listados. Agora, se limparmos o valor na caixa de entrada, o ideal é que todos os valores sejam listados (sem filtro), mas angular aplica filtro nulo para números e tudo é filtrado (ng-repeat não lista nada).
tipo de entrada = "número" ng-model = "idade"
Observação: nenhum problema com a entrada de texto type =
(Como você mencionou) isso acontece porque input[number]
atribui null
ao modelo quando o campo está vazio.
Esperar que isso funcione da maneira que você espera é razoável (imo), mas não tenho certeza de como poderíamos resolver isso.
Corrigir no lado do filtro não é desejável, porque null
pode ser um valor válido a ser procurado (e não podemos tratá-lo como indefinido). Corrigir em NgModelController
provavelmente também não é uma solução viável.
@outros : pensamentos?
Nesse ínterim, você pode usar esta (não tão bonita) solução alternativa:
<input type="number" ng-model="search.posts" />
...
<div ng-repeat="user in users | filter:((search.posts===null)?undefined:search)">...</div
Retornamos null
porque retornar undefined
de um analisador define um erro de análise. Outra razão pela qual esse não é o melhor design.
@Narretz Eu estava prestes a perguntar por que não devolvemos undefined
:-)
Eu sei que este post é meio antigo, mas eu tive uma péssima hora tentando descobrir como resolver esse problema, então eu quero compartilhar minha solução. Adicione um evento oninput ao seu campo de entrada e, na função javascript, verifique se o valor desse campo é uma string vazia; em caso afirmativo, exclua o valor do campo de entrada com:
delete document.getElementById ('qualquer'). value;
Não acho que os atributos HTMLInputElement devam ser configuráveis
Comentários muito úteis
(Como você mencionou) isso acontece porque
input[number]
atribuinull
ao modelo quando o campo está vazio.Esperar que isso funcione da maneira que você espera é razoável (imo), mas não tenho certeza de como poderíamos resolver isso.
Corrigir no lado do filtro não é desejável, porque
null
pode ser um valor válido a ser procurado (e não podemos tratá-lo como indefinido). Corrigir emNgModelController
provavelmente também não é uma solução viável.@outros : pensamentos?
Nesse ínterim, você pode usar esta (não tão bonita) solução alternativa:
Demo fiddle