Как показать сообщение об ошибке, если не найдено совпадений в ng repeat для фильтра - PullRequest
0 голосов
/ 17 января 2019

У меня есть текстовое поле и повторяется несколько делений от ng, когда я что-то ищу в текстовом поле, он показывает результат, основанный на поиске. Но если совпадений не найдено, я должен получить сообщение об ошибке, я использовал здесь ng showна основе значения, но это сообщение не отображается.Может кто-нибудь, пожалуйста, помогите мне в этом. Я новичок в угловой js.Here код ниже

html

<script src='https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.1/angular.js'></script>
<script src='https://cdnjs.cloudflare.com/ajax/libs/angular-filter/0.5.4/angular-filter.js'></script>
<script src='https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.1/angular-sanitize.js'></script>
<script src='https://cdnjs.cloudflare.com/ajax/libs/angular-ui-bootstrap/2.5.0/ui-bootstrap-tpls.js'></script>
<script  src="script.js"></script>
<link rel='stylesheet prefetch' href='https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.5/css/bootstrap.css'>
 <body ng-app="app">     
  <div ng-controller="AccordionDemoCtrl">
    <div class="scroll-div"> 
<div><input type="text" placeholder="search" ng-model="item"/>  
      <div style="border:1px solid;" id="anchor{{group.id}}"  ng-repeat="group in groups | filter:item">

          {{ group.title }}   
        </div> 
      <p ng-show="!groups.length">No record found</p>       
      </div>
    </div>

  </div>
  </body>

script.js

var app=angular.module('app', ['ui.bootstrap','ngSanitize','angular.filter']);
app.controller('AccordionDemoCtrl', function ($scope,$location,$anchorScroll) {
  $scope.oneAtATime = true;

  $scope.groups = [
    {
      title: 'title 1',
      id:'1',
      list: ['<i>item1a</i> blah blah',
        'item2a'       
        ]
    },
    {
      title: 'title 2',
      id:'2',
      list: ['<i>item1a</i> blah blah',        
        'item3a'        
        ]
    },
    {
      title: 'title 3',
      id:'3',
      list: ['<i>item1a</i> blah blah',       
        'item4a'        
        ]
    },
    {
      title: 'title 4',
      id:'4',
      list: ['<i>item1a</i> blah blah',      
        'item5a'        
        ]

    },
    {
      title: 'title 5',
      id:'6',
      list: ['<i>item1a</i> blah blah',       
        'item6a'        
        ]
    },
    {
      title: 'title 6',
      id:'5',
      list: ['<i>item1a</i> blah blah',        
        'item7a'
        ]
    }
  ];
  $scope.test = function() {    
  $scope.predicate = 'id'; 
  $scope.reverse=true;
  }
$scope.groups[0].isOpen = true;
});

1 Ответ

0 голосов
/ 17 января 2019

Попробуйте с этим:

<div ng-show="!(groups | filter:item).length">No record found</div> 

Пример: http://plnkr.co/edit/HCVcneFSOhyN3IWQbX75?p=preview

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...