首页 > 解决方案 > mat-table 不记得在分页期间选择每行上的所有复选框状态

问题描述

我在每行上使用带有复选框选项的材料,如此 DEMO所示。mat-table

另一方面,我不确定演示中的行为是否正常,因为它似乎只是更新行而不是列。

关于这两个项目有什么想法吗?

标签: javascriptangulartypescriptangular-material

解决方案


这是因为根据当前页面datasource设置了一个切片。array

  • 您将需要遍历array以设置行的全选状态,然后将其切回datasource以呈现视图。

masterToggle(ref)函数中改变这个:

 this.dataSource.forEach(row => {
    this.selection.select(row);
    console.log(row);
  });

对此:

this.array.forEach(row => {
        this.selection.select(row);
        console.log(row);
      });

其他想法:

关于这是否是正常行为,这是在演示中编写的自定义业务逻辑。

  • 这不是材料库中的行为或库规范的一部分

因为我不知道这个演示的要求/范围,根据作者的规范,它实际上可能是正确的行为......但这并不意味着你的要求是不正确的。

堆栈闪电战

https://stackblitz.com/edit/angular-ssv6fc-z4fpyv?file=app/table-selection-example.ts


推荐阅读