首页 文章

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

提问于
浏览
3

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

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

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

2 回答

  • 9

    当您订阅 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
      }
    });
    
  • 0

    我不确定它何时被添加,但是MatSnackbarRef现在包含一个单独的 onAction 可观察对象,只有在实际点击按钮时才会调用它 .

相关问题