我目前有两个搜索输入,用于处理AngularJS中的表格过滤。
<input type="text" name="clientRefFilter" data-ng-model="filterPortfolio.clientRef">
<input type="text" name="appNoFilter" data-ng-model="filterPortfolio.ep_ApplicationNumber"">
<tr data-ng-repeat="patent in $ctrl.portfolioData | filter: filterPortfolio as Result">
<td>
<a data-ng-bind="patent.ep_ApplicationNumber"></a>
</td>
<td>
<a data-ng-bind="patent.clientRef"></a>
</td>
</tr>
我现在需要添加一个下拉过滤器,该过滤器由控制器filterTopLevelCat
中的数组填充,该过滤器对来自patent.serviceList
的所有表数据进行分类,然后我必须显示其他文本给用户。检查以下内容:
控制器
vm.filterTopLevelCat = [ //drop-down filter options
{name: 'All Patents'}, //no filter applied
{name: 'Action Available'}, //Epct available and Epct being generated items shown
{name: 'No Action Available'} // Epct rejected items shown
]
视图
<input type="text" name="clientRefFilter" data-ng-model="filterPortfolio.clientRef">
<input type="text" name="appNoFilter" data-ng-model="filterPortfolio.ep_ApplicationNumber"">
<select data-ng-options="item.name for item in $ctrl.filterTopLevelCat">
</select>
<tr data-ng-repeat="patent in $ctrl.portfolioData | filter: filterPortfolio as Result">
<td>
<a data-ng-bind="patent.ep_ApplicationNumber"></a>
</td>
<td>
<a data-ng-bind="patent.clientRef"></a>
</td>
<td>
<table>
<tr data-ng-repeat="item in patent.serviceList">
<td>
<span data-ng-if="item.serviceStatus == 'Epct available'">Ready for E-PCT</span>
<span data-ng-if="item.serviceStatus == 'Epct rejected'">Not Eligble</span>
<span data-ng-if="item.serviceStatus == 'Epct being generated'">Form 1200 generating</span>
<td>
<tr>
<table>
<td>
我使用了ng-change
指令从控制器访问过滤器,并使其与删除过滤器一起工作,但是却难以根据状态值来过滤数据。例如Epct available
问题
我应该如何处理,以便过滤器处理原始两个搜索输入和新下拉过滤器的过滤?