gpt4 book ai didi

javascript - Angular `ng-repeat` - 如何只过滤两个属性?

转载 作者:行者123 更新时间:2023-11-30 12:06:56 25 4
gpt4 key购买 nike

目前,我有一个搜索框和一个重复列表。我的重复列表使用具有许多属性的对象。

JSON

$scope.userlist = [{
firstName: "Jack",
lastName: "Smith",
description: "This is a description"
}, {
firstName: "Luke",
lastName: "McDonald",
description: "My name is Luke, and my friend is Jack"
}]

这是我的重复列表:

<md-list-item ng-repeat="user in userList | filter: searchInput as allResults">
<p>{{user.firstName}} {{user.lastName}}</p>
</md-list-item>

我的搜索框模型是 searchInput,对象作为 $scope.userList 保存到作用域中。

如果我搜索 jack,两个结果都会显示,因为两个对象都包含此搜索词。

如何限制我的过滤器只在 firstNamelastName 属性中查找?

最佳答案

在你的 Controller 中使用它

$scope.searchFilter = function (user) {
var keyword = new RegExp($scope.searchInput, 'i');
return !$scope.searchInput || keyword.test(user.firstName) || keyword.test(user.lastName);
}

您的 HTML 将是:

<md-list-item ng-repeat="user in userList | filter: searchFilter"> 
<p>{{user.firstName}} {{user.lastName}}</p>
</md-list-item>

关于javascript - Angular `ng-repeat` - 如何只过滤两个属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34917310/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com