在下面的codepen中,我试图根据单击的跨度来过滤数据。跨度的文本为“全部”,“打开”和“关闭”以显示IT故障单的状态。我目前在ng-repeat属性中使用“ filter:searchText”,可以成功过滤数据以显示哪些工单仍在打开。但是,有些行的描述中带有单词Open,但状态为Closed。当我单击“打开”跨度时,我还会获得描述中带有“打开”字样的“已关闭”票证。如何仅根据状态字段进行过滤?谢谢。
<div class="container" ng-app="myApp" ng-controller="myController">
<div class="row">
<div class="col-12">
<div class="row">
<div class="col-6 my-auto">
<span ng-repeat="tab in tabs" ng-click="update(tab.value)">{{tab.label}}</span>
</div>
<div class="col-6 my-auto">
<label class="my-auto float-right">Search:
<input ng-model="searchText">
</label>
</div>
</div>
<div class="row table-responsive">
<table id="searchTextResults" class="table table-striped">
<tr>
<th ng-click="sortBy('ID')">ID</th>
<th ng-click="sortBy('Description')">Ticket Description</th>
<th ng-click="sortBy('Status')">Ticket Status</th>
<th>Edit</th>
</tr>
<tr>
<tr ng-repeat="ticket in tickets | filter:searchText | orderBy:sortField:reverseOrder">
<td><a href="#">{{ticket.ID}}</a></td>
<td><a href="#">{{ticket.Description}}</a></td>
<td><a href="#">{{ticket.Status}}</a></td>
<td><button ng-click="openModal()" class="myBtn">Edit</button></td>
</tr>
</tr>
</table>
</div>
</div>
</div>
</div>
答案 0 :(得分:0)
这是通过对象属性“状态”过滤searchText的方式。
filter:searchText:true:状态
https://docs.angularjs.org/api/ng/filter/filter
因此,如果您希望将两个不同的过滤器管道传输到同一张表。我会考虑做这样的事情。
<tr ng-repeat="ticket in tickets | filter:searchText | filter:var2:true:Status
| orderBy:sortField:reverseOrder">