Функция поиска не работает должным образом - PullRequest
0 голосов
/ 30 января 2020

Я использую angularjs функциональность поиска. Нормальная функциональность поиска работает без каких-либо проблем. Мое мое требование другое.

$scope.arrData = [
    "The Community is here",
    "The Community error message" ,
    "This is our country",
    "Error message displayed"
];

Я получу ответ от службы API. После получения ответа, если я буду искать любую запись в окне поиска по случайному ключевому слову, я не получу никакого результата.

  • После получения ответа, если я выполню поиск "Сообщество" в текстовое поле, я получу ответ [«Сообщество здесь», «Сообщение об ошибке Сообщества»]

  • Но фактический текст - «Сообщение об ошибке Сообщества» ", здесь, если я ищу" Сообщение об ошибке ", я не получаю никакого результата. Пусто Точно так же, если я выполняю поиск по последнему слову, например, «ошибка сообщения» или «сообщество сообщений», я не получаю никакого результата.

  • Мне нужно, если я введу любое слово случайным образом, он должен искать и отображать результат. Например, «сообщение об ошибке» означает, что должно отображаться [«Сообщение об ошибке сообщества», «Отображается сообщение об ошибке»] Это два результата.

$scope.canShow = function (card) {
  if($scope.search){
    return !$scope.search ||
           ($scope.search &&
            card.Tag.toLowerCase().indexOf($scope.search.toLowerCase()) != -1);
  }else{
    return true;
  }
}
<input type="search" class="form-control search-field" ng-model="search">

<div class="object-thumb" ng-repeat="card in value" ng-show="canShow(card)">
   <div class="object-thumb-body">
       <div class="get-object">
          <div class="get-object-wrap">
            <div id="{{ card.objectid }}"></div>
          </div>
       </div>
    </div>
</div>

Здесь card.Tag - это поле, где я получу Resposne.

1 Ответ

0 голосов
/ 30 января 2020

Вы можете решить свою проблему следующим образом

$scope.arrData= [
    "The Community is here",
    "The Community error message" ,
    "This is our country",
    "Error message displayed"
];

let a = $scope.arrData;
var term = $scope.search; // search term (The Community)
var search = new RegExp(term , 'i'); // prepare a regex object
$scope.value = a.filter(function(item){
  return search.test(item)
});
console.log($scope.value); //here your desire output
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...