角材料 - 不关闭材料小吃店

BrS*_*BrS 6 angular-material snackbar angular

我正在使用 Angular 和 Angular Material 版本 5。

有没有办法让小吃店保持打开状态?

例如,如果发生错误,请打开小吃店并设置该小吃店的持续时间或超时时间以在 5 秒后关闭。如果发生另一个错误,在这 5 秒内,我怎样才能不关闭这个并打开另一个小吃店,而是将这个的持续时间增加几秒钟?

这是 stackblitz 网址:https ://stackblitz.com/edit/angular-j4ww8y

Man*_*uel 6

这不能回答最初的问题,但是,如果您想要一个无限期的小吃店:snackbar.open("Message", "Action", {duration: undefined});


Dav*_*vid 2

你可以反过来尝试一下:

设置一个非常长的超时持续时间,然后,如果在接下来的 5 秒内没有发生错误,则使用该dismiss方法关闭它

https://material.angular.io/components/snack-bar/api

您可以在小吃栏中添加自定义组件,而不仅仅是文本。该自定义组件可以负责更新消息

https://material.angular.io/components/snack-bar/examples

顺便说一句,在您的 stackblitz 中,小吃栏永远不会关闭,因为您将持续时间声明为

duration: 5000;
Run Code Online (Sandbox Code Playgroud)

代替

duration = 5000;
Run Code Online (Sandbox Code Playgroud)