Angular : 在使用 for(key,value) 时在 ng-options 上使用过滤器

Angular : use filter on ng-options when using for(key,value)

我有一个列表框,我想根据用户输入对其进行过滤,以便仅显示 "matches" 的可能性。

不幸的是,"filter" 只能更改值显示或根本不起作用。我希望这是因为我使用了 (key,value) 并且它有不同的行为 ?

<p>Filter : <input type="text" ng-model="FilterAttr"/> {{FilterAttr}}</p>
<select ng-options="value as (value.attr+ ' : ' +value.otherAttr) for (key,value) in CustomList | filter:{attr:FilterAttr}"
     size="4" ng-model="nevermind" ng-change="changeSensor(TyreDetails)">
</select>

这是一个 jsffidle:http://jsfiddle.net/hLywvam7/2/

感谢您的帮助。

在Angular中filters只能应用于数组,不能应用于对象。

现在要么将 "CustomList" 格式更改为数组,要么将 "CustomList" 对象转换为数组,如下所示

$scope.filterCustomList = function(items) {
    var result = [];
    angular.forEach(items, function(value, key) {
        result[key] = value;
    });
    return result;
}