我正在使用Angular和Angular Material版本5 .
有没有办法让小吃店保持开放状态?
例如,如果发生错误,请打开小吃栏并在该小吃栏上设置持续时间或超时,以便在5秒后关闭 . 如果发生了另一个错误,在这5秒内,我怎么能代替关闭这个错误,并打开另一个小吃吧,只是增加这个小时的持续时间几秒钟?
这是stackblitz网址:https://stackblitz.com/edit/angular-j4ww8y
我正在使用Angular和Angular Material版本5 .
有没有办法让小吃店保持开放状态?
例如,如果发生错误,请打开小吃栏并在该小吃栏上设置持续时间或超时,以便在5秒后关闭 . 如果发生了另一个错误,在这5秒内,我怎么能代替关闭这个错误,并打开另一个小吃吧,只是增加这个小时的持续时间几秒钟?
这是stackblitz网址:https://stackblitz.com/edit/angular-j4ww8y
2 回答
你可以反过来试试:
在超时时设置非常高的持续时间,然后,如果在接下来的5秒内没有发生错误,请使用
dismiss
方法关闭它https://material.angular.io/components/snack-bar/api
您可以在快餐栏中添加自定义组件,而不仅仅是文本 . 该自定义组件可以负责更新消息
https://material.angular.io/components/snack-bar/examples
顺便说一下,在你的stackblitz中,小吃店永远不会关闭,因为你宣称持续时间为
代替
一次只能打开一个小吃店 . 如果在上一条消息仍显示时打开新的快餐栏,则旧消息将自动被取消 .
相反,您可以使用localstorage来保存上一条错误消息,并在单个小吃栏中组合这两条错误消息,并在解除第二个小吃栏后清除本地存储 .