我想在表格中使用角度滤镜。它最初工作时显示表数据的结构很简单,但现在我必须执行一些额外的任务,我已经改变了从服务器返回的数据结构。我附上了我在$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>
我做的是否有任何根本性的错误。任何见解都会有所帮助。