У меня есть таблица, отображающая информацию о пользователе. У нас есть окно поиска вверху, которое позволяет пользователю вводить текст и выбирать тип для поиска из раскрывающегося списка.Угловой фильтр поиска js (дата и ng-repeat внутри ng-repeat)
<input type="text" ng-model=search>
<select ng-model=searchBy>
<option value="$">All</option>
<option value="Name">Name</option>
<option value="DoB">Date of birth</option>
<option value="Hobbies">Hobby</option>
</select>
<div ng-repeat="user in users | filter:searchFilter">
<div>{{user.Name}}</div>
<div>{{user.DoB | date: "MM/dd/yyyy"}}</div>
<div ng-repeat="hobby in user.Hobbies">{{hobby}}</div>
</div>
В JavaScript:
Object.defineProperty($scope, "searchFilter", {
get: function() {
var out = {};
out[$scope.searchBy || "$"] = $scope.search;
return out;
}
});
Это работает только для столбца Name. Для столбца даты существует разница в формате и, поскольку хобби находится во внутреннем цикле, пользователь не отображается в списке, даже если текст поиска находится в разделе «Увлечения». Может ли кто-нибудь помочь с фильтром, который удовлетворяет всем этим значениям?
TIA.
любой код, где вы пытались достичь этого? – ZombieChowder