*ngFor
내보기에서 그룹화 된 목록을 작성하는 데 사용하는 Angular2 앱에 배열 그룹이 있습니다.
[
{
category: 1,
items: [{ id: 1, name: "helloworld1" }, { id: 2, name: "helloworld2" }]
},
{
category: 2,
items: [{ id: 3, name: "helloworld3" }, { id: 4 }]
},
{
category: 3,
items:[{ id: 5 }, { id: 6 }]
}
]
또한 true 일 때 name
속성 이있는 항목 만 필터링해야하는 부울이 있습니다. 그룹에이 조건과 일치하는 항목이 없으면 통과하지 않아야합니다. 따라서 부울이 참이면 결과는 다음과 같습니다.
[
{
category: 1,
items: [{ id: 1, name: "helloworld1" }, { id: 2, name: "helloworld2" }]
},
{
category: 2,
items: [{ id: 3, name: "helloworld3" }]
}
]
이런 종류의 결과를 얻기 위해 파이프를 어떻게 구현할 수 있습니까?
http://plnkr.co/edit/je2RioK9pfKxiZg7ljVg?p=preview
@Pipe({name: 'filterName'})
export class FilterNamePipe implements PipeTransform {
transform(items: any[], checkName: boolean): number {
if(items === null) return [];
let ret = [];
items.forEach(function (item) {
let ret1 = item.items.filter(function (e) {
return !checkName || (checkName && (e.name !== undefined));
});
if(ret1.length > 0) {
item.items = ret1;
ret.push(item);
}
});
return ret;
}
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다