AngularJS过滤搜索不起作用

时间:2016-11-23 10:53:58

标签: angularjs angularjs-ng-repeat angularjs-filter

我想在表格中使用角度滤镜。它最初工作时显示表数据的结构很简单,但现在我必须执行一些额外的任务,我已经改变了从服务器返回的数据结构。我附上了我在$scope.tables收到的数据结构的图片。

代码很简单,我正在迭代$scope.tables并分别使用cols和{scope} rows显示表头和表体。

其他所有工作都像使用$ scope.sortkey和$ scope.reverse进行排序一样。但搜索根本不起作用。我尝试了不同的变体将过滤器放在不同的位置,但没有成功。

<div ng-if="hasSearch == 'true'">
        <form class="form-inline">
             <div class="form-group">
              <label >Search</label>
                  <input type="text" ng-model="search" class="form-control" placeholder="Search"/>
             </div>
        </form>
 </div>

 <table border="1" ng-repeat="table in tables" class="table table-hover 
       table-striped table-bordered table-condensed table-sm">
      <caption class="captionAlign">Application Status</caption>
           <thead class="thead-inverse">
              <tr>
                  <th ng-repeat="(key, value) in table.cols" ng-click="sort(key,value)">{{value}}
                    <span class="glyphicon sort-icon" ng-show="sortKey== '\''+'{'+key+'='+value+'}'+'\''" ng-class="{'glyphicon-chevron-up':reverse,'glyphicon-chevron-down':!reverse}"></span>
                  </th>
              </tr>
           </thead>
           <tbody>
              <tr ng-repeat="row in table.rows | orderBy:sortKey:reverse| filter:search" ng-if="hasPagination === 'false'"> 
                  <td ng-repeat="(key, value) in table.cols" > {{row['{'+key+'='+value+'}']}}</td> 
              </tr>
           </tbody>
    </table>

我做的是否有任何根本性的错误。任何见解都会有所帮助。

$ scope.tables的结构:(在3张照片中) enter image description here enter image description here enter image description here

0 个答案:

没有答案