Voici le code qui ne fonctionne pas: Démo: http://jsfiddle.net/8dt94/63/
<div ng-controller="MyCtrl">
<input type="text" ng-model="searchText" />
<ul ng-repeat="strVal in arrVal|orderBy|filter:searchText" >
<li>{{strVal}}</li>
</ul>
</div>
var app=angular.module('myApp', []);
app.controller('MyCtrl', function ($scope,$filter) {
$scope.arrVal = ['one','two','three','four','five','six'];
});
Réponses:
Vous pouvez commander par une méthode, vous pouvez donc utiliser la méthode toString
<ul ng-repeat="strVal in arrVal | orderBy:'toString()' | filter:searchText">
la source
[2,5,3,1,6, 33]
alors à la place,toString()
j'ai utilisévalueOf()
et cela a fonctionné parfaitement. Merci pour la solution.Écrivez un filtre personnalisé :
app.filter('mySort', function() { return function(input) { return input.sort(); } });
HTML:
<ul ng-repeat="strVal in arrVal|filter:searchText|mySort">
Violon .
la source