对表中所有选中的行进行Angular 6批量操作

时间:2018-10-12 07:46:47

标签: angular html5 typescript

在Angular 6 Web应用程序中,我有一个表,其中每行都有一个复选框。 我想对选中的行执行批量操作,例如删除。

我当时正在考虑向数据模型中添加一个isSelected布尔变量,然后对所有选中的行进行一次foreach,然后我在Stackoverflow上发现了this post,这很相似,但是看起来它处理的是AngularJS而不是6

有人可以建议在Angular 6中使用“最佳”方法吗?

我还没有开始对此进行编码,因为我不知道链接文章中的方法是否适合角度操作,还是会浪费我的时间。

1 个答案:

答案 0 :(得分:1)

最简单的方法是首先创建一个数组:

checkarray: any[] = [];

每次检查表中的内容时,该数组将被填充或清空:

checkbox(item: any, event) {
        if (event.ctrlKey) {
            if (this.checkarray.find(x => x.ID == item.ID)) {
                this.checkarray.splice(this.checkarray.indexOf(item), 1);
            }
            else {
                this.checkarray.push(item);
            }
        }
        else {
            this.checkarray.splice(0);
            this.checkarray.push(item);
        }
    }

当您要从数据库中删除项目时,只需将阵列发送到服务器并执行操作即可。