В последних версиях Material теперь есть модуль Ripples ( здесь ), который позволяет настраивать и программно запускать пульсации в компоненте, такие как mat-list-item
.
Программный запуск включает в себя следующее: во-первых, мы составляем наш список и прикрепляем директиву matRipple
.В моем примере я использую нажатие кнопки, чтобы вызвать пульсацию, поэтому также был добавлен обработчик событий:
<mat-list role="list" matRipple>
<mat-list-item role="listitem">Item 1</mat-list-item>
<mat-list-item role="listitem">Item 2</mat-list-item>
<mat-list-item role="listitem">Item 3</mat-list-item>
</mat-list>
<button mat-raised-button color="accent" (click)="triggerRipple()">Trigger Ripple</button>
Внутри компонента мы получаем matRipple
, используя ViewChild
,позволяя нам вызвать launch()
на пульсации, чтобы вызвать фактический эффект пульсации:
@ViewChild(MatRipple) ripple: MatRipple;
triggerRipple() {
this.ripple.launch({centered: true});
}
Вот стэк-блиц , показывающий этот образец в действии;нажмите кнопку, чтобы вызвать рябь в mat-list
.Естественно, вы можете переместить директиву matRipple
к любому компоненту, если вы хотите, чтобы эффект ряби применялся к чему-то другому.Посмотрите документы, чтобы узнать больше вариантов конфигурации.