Angular Material создает эффект скольжения путем анимации преобразования translateY.Я не думаю, что есть способ обойти перекрытие.Что вы можете попробовать, так это сначала сознательно позвонить dismiss()
, а затем набрать open()
через setTimeout()
, используя небольшую задержку.Единственная проблема заключается в том, что закусочная всегда будет иметь такую задержку, если вы не можете найти способ избежать задержки, если никакая закусочная не открыта.Возможно, вы сможете использовать наблюдаемые значения afterDismissed()
и afterOpened()
, но это кажется хитрым.
Грубый пример:
openSnackBar(message: string, action: string) {
this.snackBar.dismiss();
setTimeout(() =>
this.snackBar.open(message, action, {
duration: 2000,
}), 500
);
}