Я пытаюсь создать панель поиска в ионной форме, если это похоже на этот пример.
Это приложение app.html
<ion-content class="has-header" padding="true" ng-controller="appCtrl">
//Search Bar
<label class="item item-input">
<i class="icon ion-search placeholder-icon"></i>
<input type="search" placeholder="Search" ng-model="searchText">
</label>
//This is the list that we want to search
<form style="" class="list">
<ion-list>
<ion-item ng-repeat="item in items | filter: userFilter() ">
<div class="row responsive-sm">
<div class="col">
<div>Item Id {{item.id}}</div>
<div>Item detail{{item.detail}}</div>
<div>Date{{item.date}}</div>
</div>
</div>
</ion-item>
</ion-list>
</form>
</ion-content>
Это controller.js
.controller('appCtrl', function($scope,$state,$location,$ionicModal,$filter) {
$scope.items = [
{
id : 1 ,
detail : "A book about ghost",
date : "20 March 1999"
},
{
id : 2,
detail : "A Book about famous person",
date : "20 March 1999"
},
{
id : 3,
detail : "A Map to a house",
date : "20 March 1999"
},
{
id : 4,
detail : "A famous horror Novel",
date : "20 March 1999"
},
{
id : 5,
detail : "A story about the haunted house",
date : "20 March 1999"
}];
//The filter that is used
$scope.userFilter = function(item) {
// default to no match
var isMatch = false;
if ($scope.searchText) {
// split the input by space
var parts = $scope.searchText.split(' ');
// iterate each of the words that was entered
parts.forEach(function(part) {
// if the word is found in the post, a set the flag to return it.
if (new RegExp('part').test(item)) {
isMatch = true;
}
});
} else {
// if nothing is entered, return all posts
isMatch = true;
}
return isMatch;};})
Если код работает, он должен показать пункт № 2 и пункт № 4, когда мы пишем "знаменитый". Вместо этого фильтр вызывает исчезновение всего элемента в списке. Есть ли способ решить ее?
кажется, что вы вызываете функцию в ng-repeat filter | userFilter() без параметра, и у вас есть функция с параметром item, пожалуйста, подтвердите, если это не проблема. Я могу попробовать для вашего plunkr, и ваш пример ссылки отсутствует.
Удачи