angular 2 中带有过滤器的嵌套表格
Nested tables with filter in angular 2
我需要嵌套 2 个表,第二个表在第一个表之上有一个过滤器。我创建了一个管道,但由于此错误而无法正常工作(看起来管道未找到):
Error
这是页面的代码:
HTML
<table class="panelTable">
<tr *ngFor="let type of arrTypes">
<td>
<div class="title-1">{{'ASSESSMENTTYPE.' + type.Type | translate}}</div>
<table class="panelTaskTable">
<tr *ngFor="let t of arrTask | filterType: type.Type">
<td><h4>{{t.teacherName}}</h4></td>
<td>
<img src="./images/nochecked.png" *ngIf="t.Progress != 100" />
<img src="./images/checked.png" *ngIf="t.Progress == 100" />
</td>
</tr>
</table>
</td>
</tr>
类型说明
import { Component, Pipe, PipeTransform, Injectable } from '@angular/core';
@Pipe({ name: 'filterType' })
export class FilterType implements PipeTransform {
transform(items: Array<TaskDTO>, Type: string): Array<TaskDTO> {
if (!items)
return null;
else
return items.filter(item => item.Type === Type);
}
}
预期结果与此类似:
ExpectedResult
知道如何解决这个问题吗?
谢谢!
您必须在 app.module.ts
中声明您的自定义管道。
...
import { FilterType } from './filterType';
@NgModule({
imports: [
BrowserModule,
...
],
declarations: [
AppComponent,
...
FilterType
],
bootstrap: [ AppComponent ]
})
export class AppModule { }
我还建议将您的管道重命名为 FilterTypePipe
。
我需要嵌套 2 个表,第二个表在第一个表之上有一个过滤器。我创建了一个管道,但由于此错误而无法正常工作(看起来管道未找到): Error
这是页面的代码:
HTML
<table class="panelTable">
<tr *ngFor="let type of arrTypes">
<td>
<div class="title-1">{{'ASSESSMENTTYPE.' + type.Type | translate}}</div>
<table class="panelTaskTable">
<tr *ngFor="let t of arrTask | filterType: type.Type">
<td><h4>{{t.teacherName}}</h4></td>
<td>
<img src="./images/nochecked.png" *ngIf="t.Progress != 100" />
<img src="./images/checked.png" *ngIf="t.Progress == 100" />
</td>
</tr>
</table>
</td>
</tr>
类型说明
import { Component, Pipe, PipeTransform, Injectable } from '@angular/core';
@Pipe({ name: 'filterType' })
export class FilterType implements PipeTransform {
transform(items: Array<TaskDTO>, Type: string): Array<TaskDTO> {
if (!items)
return null;
else
return items.filter(item => item.Type === Type);
}
}
预期结果与此类似:
ExpectedResult
知道如何解决这个问题吗?
谢谢!
您必须在 app.module.ts
中声明您的自定义管道。
...
import { FilterType } from './filterType';
@NgModule({
imports: [
BrowserModule,
...
],
declarations: [
AppComponent,
...
FilterType
],
bootstrap: [ AppComponent ]
})
export class AppModule { }
我还建议将您的管道重命名为 FilterTypePipe
。