【问题标题】:Reset a mat-select value by clicking a button通过单击按钮重置垫选择值
【发布时间】:2020-08-19 03:01:44
【问题描述】:

我有一个用于在 UI 上过滤数据的 mat-select 下拉菜单。我使用 getTeam 函数将数据从子组件发送到父组件

垫选

<mat-form-field>
  <mat-label>Select Team</mat-label>
  <mat-select (selectionChange)="getTeam($event)">
    <mat-option *ngFor="let team of teams" [value]="team.name">
      {{team.name}}
    </mat-option>
  </mat-select>
</mat-form-field>
<span class="material-icons" (click)="reset()">delete_sweep</span>

过滤逻辑 (.ts) getTeamQuery 接收发出的值并过滤 UI 数据。

  videos: Video[] = videos;
  filteredVideos: Video[] = videos;

    getTeamQuery(queryEmitted: string) {
    this.videos = this.filteredVideos.filter(video => {
      return video.team === queryEmitted;
    });
  }


  **Clearing the filter selection**

  reset() {
    this.videos = videos;
  }

如何通过单击材质图标重置 mat-select 的选择并返回初始状态?初始状态,表示 mat-select 值是占位符的状态。

【问题讨论】:

    标签: angular angular-material


    【解决方案1】:

    只需在循环之前添加一个普通的 mat-option,如下所示:

    <mat-select (selectionChange)="getTeam($event)">
        <mat-option value="">Select a name...</mat-option>
    
        <mat-option *ngFor="let team of teams" [value]="team.name">
          {{team.name}}
        </mat-option>
    
      </mat-select>
    

    编辑:根据您的评论,您可以在这种情况下使用 ngModel,如下所示:

    html 文件:

    <mat-select (selectionChange)="getTeam($event)" [(ngModel)]="teamInitial">
      // your code...
    </mat-select>
    

    ts 文件:

    export class YourComponent {
       teamInitial = '';
    
       // you code...
    
       reset() {
         this.teamInitial = '';
       }
    }
    

    【讨论】:

    • 好的,好主意。但这里的问题是,如何通过单击清除按钮将 mat-select 按钮重置为初始状态。
    • 我已根据您的评论编辑了答案,请检查... @v_char
    • 成功了,谢谢。你认为这个问题需要修改吗?
    • 是的,您可以更改标题,例如“使用按钮单击重置 mat-select 值”或类似的内容...您也可以编辑您的问题,您想要一个按钮单击事件,但是在您的 html 示例您没有提供任何按钮模板。或者你没有确切地说你想如何重置。所以乍一看,有点混乱。,
    • 好的,谢谢。我在 html 上有附加点击功能的材料图标
    猜你喜欢
    • 1970-01-01
    • 2021-01-21
    • 1970-01-01
    • 2011-05-30
    • 1970-01-01
    • 1970-01-01
    • 2017-06-12
    • 1970-01-01
    • 2015-02-22
    相关资源
    最近更新 更多