Сбросьте значение выбора мата, нажав кнопку - PullRequest
0 голосов
/ 04 мая 2020

У меня есть выпадающий список для фильтрации данных в пользовательском интерфейсе. Я отправляю данные из дочернего компонента в родительский компонент с помощью функции getTeam

Mat-Select

<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>

Filter logi c (. ts) getTeamQuery получает испущенное значение и фильтрует данные пользовательского интерфейса.

  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 является заполнителем.

1 Ответ

1 голос
/ 04 мая 2020

Просто добавьте обычный параметр mat перед l oop, например:

<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 = '';
   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...