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

Posted

技术标签:

【中文标题】如何使用 Angular Material 快餐栏检查解雇原因?【英文标题】:How can I check the dismiss reason with an Angular Material snackbar? 【发布时间】:2018-07-03 13:17:35 【问题描述】:

在Angular Material documentation 的快餐栏示例中,操作设置为undo。我还想要一个撤消小吃吧。

但是有一个问题。 afterDismissed 事件在单击关闭按钮时触发,并且在持续时间过去时触发。所以我的表单清除按钮将清除表单并显示小吃栏,但 5 秒后输入又回来了。

有没有办法检查撤消按钮是否调用了关闭?我不想使用自定义的 Snackbar,因为我必须重新设计 Snackbar...

【问题讨论】:

【参考方案1】:

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

【讨论】:

【参考方案2】:

我不确定它是什么时候添加的,但 MatSnackbarRef 现在包含一个单独的 onAction 可观察对象,仅在实际单击按钮时调用。

【讨论】:

以上是关于如何使用 Angular Material 快餐栏检查解雇原因?的主要内容,如果未能解决你的问题,请参考以下文章

无法将多背景颜色应用于材质 ui 快餐栏

是否可以更改 ios 快餐栏的背景颜色?

连续的 Material-UI Snackbars(使用 React-Redux)

在 Angular 中使用 Angular Material / Flex-Layout 创建具有固定标题、固定侧边栏、固定内容部分的布局

Flutter:如何从 appbar 动作中显示快餐栏

如何在 Espresso 测试中单击快餐栏按钮?