Angular 按mat select过滤角材质数据表

Angular 按mat select过滤角材质数据表,angular,angular-material,filtering,mat-table,Angular,Angular Material,Filtering,Mat Table,我有一个带排序、过滤和分页的mat表。现在,我正在寻找一种使用mat select筛选matTableDataSource的方法。这是我的密码 有人能帮我吗?您可以使用相同的功能,该功能将在(单击)Mat事件选项时启动,也可以像: 在您的共享示例中,您使用了[value]=“version.value”,但它应该是[value]=“version”,因为它没有名为value的属性 <mat-form-field> <mat-select placeholder="Ve

我有一个带排序、过滤和分页的mat表。现在,我正在寻找一种使用mat select筛选matTableDataSource的方法。这是我的密码
有人能帮我吗?

您可以使用相同的功能,该功能将在
(单击)
Mat事件选项时启动,也可以像:

在您的共享示例中,您使用了
[value]=“version.value”
,但它应该是
[value]=“version”
,因为它没有名为
value
的属性

<mat-form-field>
     <mat-select placeholder="Version">
      <mat-option *ngFor="let version of versions" [value]="version" (click)="applyFilter(version)">
              {{version}}
       </mat-option>
     </mat-select>
</mat-form-field>

{{version}

只需使用
(selectionChange)
@Output
属性,并将所选
mat选项的值传递给
mat select
。这是您可以通过
$event.value
获得的:

<div class="col-sm-4 col-md-4">
  <mat-form-field>
    <mat-select 
      placeholder="Version" 
      (selectionChange)="applyFilter($event.value)">
      <mat-option 
        *ngFor="let version of versions" 
        [value]="version">
        {{version}}
      </mat-option>
    </mat-select>
  </mat-form-field>
</div>

{{version}

这是给你的裁判的一封信


谢谢,但这会过滤所有列,而不仅仅是“版本”列。这可能会影响我的搜索结果。我怎样才能只过滤“版本”列?谢谢,但这会过滤所有列,而不仅仅是“版本”列。这可能会影响我的搜索结果。如何只过滤版本栏?无法理解!你能解释一下吗!假设有另一列的值为“1.0”,但版本列中对应的值为“2.0”。由于我使用的筛选器不是特定于某一列的,因此该行将显示在我的结果中。我只想在版本列上严格应用过滤器。它没有像我期望的那样工作。我更新了代码,以清楚地表达我所寻找的。