Сохранять анимацию пульсации углового материала после нажатия

Я использую mat-list с matRipple для анимации кликов. Обычно анимация ряби мата исчезает через некоторое время, ею можно управлять с помощью RippleGlobalOptions, но я хочу сохранить анимацию после щелчка, чтобы цвет фона не изменился. Итак, есть ли способ сохранить стиль фона?

    <mat-list #selectable
              role="list">
                <mat-list-item *ngFor="let item of ItemsSource; let i = index;"
                               (click)="OnRowClicked(item)"
                               role="listitem"
                               matRipple>
                    {{item["Description"]}}
                    <mat-divider></mat-divider>
                </mat-list-item>
    </mat-list>
  public ItemsSource = [{Description: "test", Code: "1" },
                        {Description: "test2", Code: "2" }];

  public SelectedItem: any;

  public OnRowClicked(event: any) {
      this.SelectedItem = event;
    }  

Вилка: https://stackblitz.com/edit/angular-vrus3x

0 ответов

Вы можете использовать ручную рябь.

class MyComponent {

  /** Reference to the directive instance of the ripple. */
  @ViewChild(MatRipple) ripple: MatRipple;

  /** Shows a centered and persistent ripple. */
  launchRipple() {
    const rippleRef = this.ripple.launch({
      persistent: true,
      centered: true
    });

    // Fade out the ripple later.
    rippleRef.fadeOut();
  }
}

Вот стек, который я нашел в Google.

Другие вопросы по тегам