Когда вы используете [matRippleColor]="white"
, Angular оценивает "white"
как выражение шаблона. Поскольку вы не определили переменную white
в своем компоненте, это оценивается как undefined
. Если вы хотите передать белый цвет в [matRippleColor]
, вам нужно передать его в виде строки, как показано ниже
<button matRipple [matRippleColor]="'white'" type="submit" class="submit-button">
<mat-icon>search</mat-icon><span>Szukaj</span>
</button>
Возможно, проблема связана с используемой версией @angular/material
. MatRippleModule
работает немного по-разному для разных версий @angular/material
MatRippleModule
был представлен в Angular Material 6, поэтому он не будет работать с версиями 5 и ниже.
В Angular Material 6 пульсации перетекают за пределы вашего элемента. Это можно исправить, добавив position: relative
к элементу CSS, как показано ниже
.submit-button {
position: relative;
}
В Angular Material 7 свойство CSS position: relative
добавлено в класс .mat-ripple
библиотеки, поэтому нет необходимости добавлять position: relative
к элементу в вашем CSS. То же самое касается углового материала 8.
Вот простой пример StackBlitz в Angular 7, где вы можете динамически изменять цвет. Для получения постоянного цвета просто измените [matRippleColor]="rippleColor"
на [matRippleColor]="'white'"
или любой другой цвет по вашему выбору.