在 html 元素选择上设置数据源时,复选框的主切换不起作用

时间:2021-06-30 05:50:33

标签: angular angular-material

我有一个类似的问题 -

Master Toggle for checkbox not working in multiple expanded Mat-Table rows .

但是这里没有使用 this.usersdataSource[element.Id] = new MatTableDataSource(res); ,而是将其用作 element['usersdataSource'] = new MatTableDataSource(res);

现在在解决方案中我看到使用了 selectionMap -

userSelectionMap: Map<number, SelectionModel<any>> = new Map<number,SelectionModel<any>>();

UserMasterToggle(elementId: number) {
this.isAllUserSelected(elementId)
  ? this.userSelectionMap.get(elementId).clear()
  : this.usersdataSource[elementId].data.forEach(row =>
      this.userSelectionMap.get(elementId).select(row)
    );


 }

  isAllUserSSelected() {
    const numSelected = this.userSSelection.selected.length;
    const numRows = this.leftPanelDataSource.data.length;
    return numSelected == numRows;
  }

当我将数据源值分配给像 userSelectionMap: Map<number, SelectionModel<any>> = new Map<number,SelectionModel<any>>(); 这样的元素值时,我应该如何使用 element['usersdataSource'] = new MatTableDataSource(res);

I have working stackblitz link for my issue - 任何人都可以帮忙

谢谢

1 个答案:

答案 0 :(得分:1)