在 Angular 2 中过滤之前如何设置 i=array 的索引?
How can I set i=index of array before I filter it in Angular 2?
我目前在对 Angular 中的客户列表进行分页时遇到问题 2。这是我的代码片段:
<tr *ngFor="let client of eClients | filter:term | paginate: { itemsPerPage: 20, currentPage: p}; let i = index" (click)="toggleClient(i)">
<td>
<checkbox [(ngModel)]="eClients[i].selected">
{{client.name}}
<checkbox>
</td>
</tr>
问题是索引与数组中的实际位置不对应。例如,如果我转到第 2 页并单击列表中的客户端 #2,我应该得到 22 的索引,但我得到的是 2。当我从一个页面移动到另一个页面时,该索引似乎只跨越 0-19 .它首先过滤数据,然后设置索引。如何在任何过滤器或分页发生之前设置 "i=index"?
P.s。 "checkbox" 是我自己的模块,"term" 是我自己的管道过滤器。
请帮忙。谢谢
*NgFor
的变量index
为当前结果。对于您的情况,您可以通过 eClients .indexOf(client)
.
获得 original index
参考plunker.
为 formArray 添加 fromGroupName
[formGroupName] = "getFormGroupIndex(i)"
为此函数计算索引:
getFormGroupIndex(index: number): number {
return index + (this.TableCurPage - 1) * this.ItemPerpage;}
我目前在对 Angular 中的客户列表进行分页时遇到问题 2。这是我的代码片段:
<tr *ngFor="let client of eClients | filter:term | paginate: { itemsPerPage: 20, currentPage: p}; let i = index" (click)="toggleClient(i)">
<td>
<checkbox [(ngModel)]="eClients[i].selected">
{{client.name}}
<checkbox>
</td>
</tr>
问题是索引与数组中的实际位置不对应。例如,如果我转到第 2 页并单击列表中的客户端 #2,我应该得到 22 的索引,但我得到的是 2。当我从一个页面移动到另一个页面时,该索引似乎只跨越 0-19 .它首先过滤数据,然后设置索引。如何在任何过滤器或分页发生之前设置 "i=index"?
P.s。 "checkbox" 是我自己的模块,"term" 是我自己的管道过滤器。
请帮忙。谢谢
*NgFor
的变量index
为当前结果。对于您的情况,您可以通过 eClients .indexOf(client)
.
original index
参考plunker.
为 formArray 添加 fromGroupName
[formGroupName] = "getFormGroupIndex(i)"
为此函数计算索引:
getFormGroupIndex(index: number): number {
return index + (this.TableCurPage - 1) * this.ItemPerpage;}