如何使用Angular 2中的动态创建复选框过滤数据

时间:2017-08-08 05:31:58

标签: angular

我创建了一个复选框列表,我希望当我点击一个或多个复选框时,结果应根据选中的复选框进行过滤。 任何人都可以帮助我如何存档这个。我使用Angular 2.

1 个答案:

答案 0 :(得分:0)

您可以应用如下逻辑,可能需要修改某些内容。

public selectedItems: any = [];

将数据源分配到复选框后:(添加​​IsSelected字段,以便我们可以在需要时对数据应用过滤器)

this.dataSource.forEach((row: any) => {
    row.IsSelected = false;
});

CkeckBox Click Event:

public OnCheckBoxClicked(value: any): any {
    this.selectedItems = [];       
    setTimeout(() => {
        let selectedRows = this.dataSource.filter((row: any) => row.IsSelected == true);
        if (selectedRows != null && selectedRows.length > 0) {
            this.selectedItems = selectedRows;                
        }
        console.log(this.selectedItems);
    }, 300);
}