Ano*_*nym 5 sorting pipes-filters angular
我正在开展一个Angular 2项目.
我有一个包含多列的表.每列都有不同的排序逻辑(number,string.lowercase,amountValue in%和INR).行根据该列的排序逻辑进行排序.为了实现这一点,我使用一个名为sortTable的自定义管道,其中包含很少的参数.
同时,顶部有一个输入字段,它绑定到searchTerm变量.要使用searchTerm过滤数据,我使用另一个名为sortTableRow的自定义管道.
虽然它非常复杂,但非常简化的代码段可以是:
<input type="search" [(ngModel)]="searchTerm"/>
<table>
<thead>
<tr class="sortable-header">
<th data-key="status" data-dt="boolean">Status</th>
<th data-key="name" data-dt="string">Name</th>
<th data-key="code" data-dt="string">Code</th>
<th data-key="amountValue" data-dt="amount">Amount</th>
</tr>
</thead>
<tbody>
<tr *ngFor="let row of rows | sortTable: sortType : {'key': key, 'dt': dt} | searchTableRow : searchTerm : ['name']">
<td> {{row.status}} </td>
<td> {{row.name}} </a> </td>
<td> {{row.code}} </td>
<td> {{row.amountValue}} </td>
</tr>
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud)
两根管子都可以单独使用.当我单击列标题时,键和dt(dataType)在单击事件处理程序上发生更改,行会相应地进行排序.当我搜索一个术语时,结果被过滤,我看到了所需的输出.
但是当我尝试对FILTERED RESULTS(通过searchTerm)进行排序时,没有任何反应.我认为在这种情况下,两个管道不能同时工作.我不想删除任何这些管道.
dim*_*n d 13
嗯......很奇怪.可能是这个帮助
<tr *ngFor="let row of (rows | sortTable: sortType : {'key': key, 'dt': dt}) | searchTableRow : searchTerm : ['name']">
Run Code Online (Sandbox Code Playgroud)
如果没有尝试在每个管道中设置console.log并观察它们返回的内容
您可以使用管道标志应用管道。喜欢
<div class="checkbox" *ngFor="let value of brand | filter: {name: searchbrand} | itemdisplayno: displayitems; let i = index">
Run Code Online (Sandbox Code Playgroud)
我在这里使用两个管道。一个是通过值调用过滤器,第二个是 itemdisplayno。基本上首先应用带有传递值的过滤器,然后运行 itemdisplayno。
| 归档时间: |
|
| 查看次数: |
36445 次 |
| 最近记录: |