多个过滤器处理不同的嵌套数据

时间:2018-10-15 15:14:58

标签: javascript angularjs

我目前有两个搜索输入,用于处理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

问题

我应该如何处理,以便过滤器处理原始两个搜索输入和新下拉过滤器的过滤?

0 个答案:

没有答案