我的AngularJS过滤器出了问题。 我不明白为什么,但我的一个选择过滤器效果不好。 以下是选择的代码:
<select ng-model="filterUser" ng-options="user for user in userList" class="form-control">
<option value="">All</option>
</select>
列表的代码:
<tr ng-repeat="action in actions | filter:{user:filterUser, type:filterType, comment:filterComment}">
<td>{{action.user}}</td>
...
</tr>
加载页面后,我有正确的用户列表。如果我从选择列表中选择一个用户,我只有该用户的操作,但如果我回到&#34;全部&#34;,则列表中没有其他内容。 但是这个列表并没有被破坏,就像我再次选择一个用户一样,然后我会采取行动。
有什么想法吗? :)
答案 0 :(得分:0)
所以看看你目前使用多个过滤器的设置,我不知道你的数据结构是什么样的,但这里有一个例子,我将如何做,也许这会有所帮助。这是小提琴
<select ng-model="currentUser" ng-options="user.name for user in users">
<option value="">All</option>
</select>
<tr ng-repeat="action in actions | filter:currentUser.name">
<td>
{{action.name}}
</td>
</tr>
这个数据刚从我制作的一些蹩脚的应用程序中删除,但我保留了你的命名惯例。
var myApp = angular.module('myApp',[]);
function MyCtrl($scope) {
$scope.users = [
{"id": 0, "name": "Abdominals"},
{"id": 1, "name": "Abductors"},
{"id": 2, "name": "Adductors"},
{"id": 4, "name": "Biceps"},
{"id": 5, "name": "Calves"}
];
$scope.actions = [
{"id": 0, "muscle": "Abdominals", "name": "Crunch"},
{"id": 1, "muscle": "Abductors", "name": "Plank"},
{"id": 2, "muscle": "Adductors", "name": "Decline Crunch"},
{"id": 4, "muscle": "Biceps", "name": "Curls"},
{"id": 5, "muscle": "Calves", "name": "Jump Rope"}
];
}