(如您所提到的),这是因为当字段为空时, input[number]
会将null
分配给模型。
期望以您期望的方式工作是合理的(imo),但是我不确定我们如何解决这个问题。
不希望将其固定在过滤器端,因为null
可能是要查找的有效值(并且我们不能将其视为未定义)。 将其修复在NgModelController
上也不是可行的解决方案。
@others :有什么想法吗?
同时,您可以使用此(不太漂亮)的解决方法:
<input type="number" ng-model="search.posts" />
...
<div ng-repeat="user in users | filter:((search.posts===null)?undefined:search)">...</div
我们返回null
因为从解析器返回undefined
设置解析错误。 那不是最佳设计的另一个原因。
@Narretz我undefined
:-)
我知道这篇文章有点旧,但是我很难弄清楚如何解决这个问题,所以我想分享我的解决方案。 将oninput事件添加到您的输入字段,然后在javascript函数中检查此字段的值是否为空字符串,如果是,则使用以下命令删除输入字段的值:
删除document.getElementById('whatever')。value;
我不认为HTMLInputElement属性是可配置的
最有用的评论
(如您所提到的),这是因为当字段为空时,
input[number]
会将null
分配给模型。期望以您期望的方式工作是合理的(imo),但是我不确定我们如何解决这个问题。
不希望将其固定在过滤器端,因为
null
可能是要查找的有效值(并且我们不能将其视为未定义)。 将其修复在NgModelController
上也不是可行的解决方案。@others :有什么想法吗?
同时,您可以使用此(不太漂亮)的解决方法:
演示小提琴