gpt4 book ai didi

angularjs - Angular : Reinclude null values when filter parameter is empty

转载 作者:行者123 更新时间:2023-12-04 22:46:46 25 4
gpt4 key购买 nike

我有一个非常简单的 textbox过滤 ng-repeat关于一些无序 li s。当我向 textbox 添加一个值时带有 null 的元素值被删除并且即使在 textbox 时也不会返回被清除。我知道为什么会发生这种情况(搜索对象现在有一个与 nulls 不匹配的空属性),但我不知道如何解决这个问题。我试过 pop()没有运气的搜索对象的属性。

HTML:

<div ng-controller="ListCtrl">
<input type="text" ng-model="search.age" placeholder="Age"></input>
<ul>
<li ng-repeat="item in items | filter:search">
{{item.name}} - {{item.age}}
</li>
</ul>
</div>

JS:
function ListCtrl($scope) {
$scope.items = [
{'name':'Carl', 'age':69},
{'name':'Neil', 'age':54},
{'name':'Richard'},
{'name':'Chris', 'age':58}
];
}

请查看 JSfiddle以更好地说明问题。

最佳答案

我在这个 answer 的帮助下弄明白了.如果我只是添加一个 ng-change到文本框,我可以观察空值和 delete属性(property)。

HTML:

<input type="text" ng-model="search.age" ng-change="clear()" placeholder="Age"></input>

JS:
$scope.clear = function(){
if($scope.search.age.length == 0){
delete $scope.search.age;
}
}

更新 fiddle .我知道当前 if阻止用户过滤单个空间,但到目前为止,这对我来说似乎没有问题。

奖金: !将返回所有 null值和 !!将返回所有不 null值。

关于angularjs - Angular : Reinclude null values when filter parameter is empty,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22235535/

25 4 0