【发布时间】:2016-08-24 17:40:53
【问题描述】:
我做了一个烟斗
@Pipe({
name: 'orgFilter'
})
export class OrgFilterPipe implements PipeTransform {
transform(orgs: Organization[], args: String[]): any {
console.log(orgs)
let filter = args[0].toLowerCase();
return filter ? orgs.filter((org:Organization) => org.name.toLowerCase().indexOf(filter) != -1): orgs;
}
并在 html 中使用它:
<tbody>
<tr *ngFor="#organization of organizations | orgFilter:listFilter.value">
<td>{{ organization.organizationName }}</td>
<td>{{ organization.city }}</td>
<td>{{ organization.state }}</td>
<td>{{ organization.country }}</td>
<td>
<i class="material-icons">mode_edit</i>
</td>
<td>
<i class="material-icons">delete</i>
</td>
</tr>
<tr>
<td>
<div class="col-md-4"><input type="text" #listFilter (keyup)="0" /></div>
</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
我收到一个错误 browser_adapter.js:84 TypeError:无法读取未定义的属性“toLowerCase” 在 t.transform (orgFilter.ts:9)
问题出在哪里?这是否意味着 args 没有任何值?我在 html 中使用管道错误吗?
【问题讨论】:
标签: angular pipes-filters