-1

我在 ES5 中使用 Angular v 4.4.4 创建了一个项目,但在制作管道过滤器来过滤表结果时遇到了困难(*ngFor 用于填充表)。我搜索了所有内容,但找不到示例。这可能吗?如果可以,有人可以给我举个例子吗?

到目前为止,这是我不完整的代码尝试

var SearchFilter = ng.core
.Pipe({
    name: "searchFilterTable"
})
.Class({
    constructor: function SearchFilter () {},
    transform: function() {

    }
});
4

1 回答 1

0

找到了解决方案:

ES5

var SearchFilter = ng.core.Pipe({
      name: "searchFilterTable"
    })
    .Class({
        constructor: function SearchFilter () {},
      transform: function(elements, string) {
          console.log(elements);
          console.log(string);
          return elements.filter(
                  item => item.name.toLowerCase().indexOf(string.toLowerCase()) !== -1);
      }
    });

html

<tr *ngFor='let gateway of gateways | searchFilterTable:keyword'>
    <td class="special-td">{{ gateway.name }}<br><a>(edit)</a></td>
    <td class="special-td">{{ gateway.type }}</td>
    <td class="special-td">{{ gateway.forwardingAddress }}</td>
    <td class="special-td copy">{{ gateway.key }}</td>
    <td class="special-td"></td>
</tr>

确保将管道添加到您的声明/导入中

于 2018-03-13T11:31:20.417 回答