Javascript 如何在角管道中获取已过滤记录的计数

Javascript 如何在角管道中获取已过滤记录的计数,javascript,angular,typescript,Javascript,Angular,Typescript,我使用的是我在这里找到的代码,并根据我的目的进行了修改。我唯一的问题是,在输入自动搜索文本后,我无法获得准确的记录计数。但对于组过滤器来说,它工作正常 谢谢你的帮助 找到了答案 在组件ts中添加了一个字段,用于保存当前计数 filteredCount = { count: 0 }; 在组件html中将filteredCount作为参数添加到过滤器管道中 <tr *ngFor="let user of filteredUsers | filter:searchByKeyword:filte

我使用的是我在这里找到的代码,并根据我的目的进行了修改。我唯一的问题是,在输入自动搜索文本后,我无法获得准确的记录计数。但对于组过滤器来说,它工作正常

谢谢你的帮助

找到了答案

在组件ts中添加了一个字段,用于保存当前计数

filteredCount = { count: 0 };
在组件html中将filteredCount作为参数添加到过滤器管道中

<tr *ngFor="let user of filteredUsers | filter:searchByKeyword:filteredCount">

因此,当我在自动搜索框中键入时,计数不会改变。计数:{{filteredUsers.length}}共享整个stackblitz代码我已经根据假设发布了我的答案,一旦您将共享stackblitz代码,我可以在那里检查实际问题。@flakfizer共享可编辑的stackblitz示例(如果问题仍然存在)
filteredCount = { count: 0 };
<tr *ngFor="let user of filteredUsers | filter:searchByKeyword:filteredCount">
<div>AutoSearch Count: {{filteredCount.count}}</div>
transform(items, ..., filterMetadata) {
    // filtering
    let filteredItems = filter(items);

    filteredCount.count = filteredItems.length;
    return filteredItems;
  }