【问题标题】:I want to select in Mat Table with selection Based on dropdown value in angular我想在 Mat Table 中选择基于角度下拉值的选择
【发布时间】:2021-11-14 01:38:02
【问题描述】:

我创建了一个使用角度材料进行选择的表格。现在我想检查下拉列表的 onchange 方法中的一些特定行。 到目前为止我做到了:

  1. 创建表
  2. 在数据库中加载值
  3. 已创建下拉菜单和 onChange 方法
  4. 创建了一个保存按钮,它为我提供了选定的值和我的下拉值。

现在我无法根据下拉菜单的 onChange 检查该行的值。 我的数据源:

const ELEMENT_DATA: PeriodicElement[] = [
  { position: 1, name: 'Hydrogen', weight: 1.0079, symbol: 'H' },
  { position: 2, name: 'Helium', weight: 4.0026, symbol: 'He' },
  { position: 3, name: 'Lithium', weight: 6.941, symbol: 'Li' },
  { position: 4, name: 'Beryllium', weight: 9.0122, symbol: 'Be' },
  
];

在我的下拉列表的 onChange 中,假设我只想检查这两行

 { position: 1, name: 'Hydrogen', weight: 1.0079, symbol: 'H' },
  { position: 2, name: 'Helium', weight: 4.0026, symbol: 'He' },

注意:我应该能够在加载值后选中或取消选中,并在我的保存按钮中获得一个新的选中值 Here is my code in stackblitz

【问题讨论】:

    标签: angular checkbox angular-material material-table


    【解决方案1】:

    您可以像这样更改您的onSelectRole

     onSelectRole(e: any) {
        this.selection.clear();
        if(e==1){
          const CheckThisRow = this.dataSource.data.filter(x=>x.position==1)
          this.selection.select(...CheckThisRow);
        }
        if(e==2){
          const CheckThisRow = this.dataSource.data.filter(x=>x.position==4)
           this.selection.select(...CheckThisRow);
        }
      }
    

    注意:请根据需要进行更改

    【讨论】:

    • 先生,您的代码运行良好。但是在这里您使用静态值进行过滤。在我的高级让我们说在下拉 onchange 方法中,我从具有 2 个数组 CheckThisRow = [ { position: 1, name: 'Hydrogen', weight: 1.0079, symbol: 'H' }, { position: 2, name: 'Helium', weight: 4.0026, symbol: 'He' },] 现在我想检查这两行是否有特定的角色。
    • @Rakin 请用您的条件替换静态值...
    猜你喜欢
    • 1970-01-01
    • 2019-12-26
    • 2017-02-28
    • 2016-12-30
    • 2020-05-24
    • 1970-01-01
    • 1970-01-01
    • 2019-08-02
    • 1970-01-01
    相关资源
    最近更新 更多