如何使用Angular Material快餐栏检查解雇原因?

Jan*_*tze 5 snackbar angular-material2 angular

Angular Material文档中的snackbar示例中,操作设置为undo.我也想要一个撤销零食吧.

但是有一个问题.afterDismissed单击"关闭"按钮时会触发该事件,但也会在持续时间过后触发该事件.因此,我的表单清除按钮将清除表单并显示小吃栏,但在5秒后输入返回.

有没有办法检查撤消按钮是否调用了解雇?我不想使用自定义Snackbar,因为我必须重新制作零食吧设计......

小智 12

当您订阅afterDismissed活动时,您应该能够了解该活动是否来自小吃店的行动.

例如,如果您打开小吃店:

const snackBarRef = this.snackBar.open('Dummy message', 'Undo', {duration: 5000});

然后订阅该活动:

snackBarRef.afterDismissed().subscribe(info => {
  if (info.dismissedByAction === true) {
    // your code for handling this goes here
  }
});
Run Code Online (Sandbox Code Playgroud)