角材料 MatSnackBar 默认持续时间

Udi*_*zor 4 material-design angular-material angular angular5

我们的团队正在应用程序中使用 Angular Material 的 MatSnackBar。因为每个人负责不同的页面,所以每个页面的snackBars 的持续时间是不同的。有些将持续时间设置为 2000 毫秒,有些设置为 1000 毫秒,有些甚至设置为 3000 毫秒。

我想从单个变量中获取持续时间值,以便我可以在一个地方控制所有小吃店的持续时间。甚至可以让开发人员在调用snackBar.open 函数时不发送持续时间值。

this.snackBar.open(message, {
  duration: 2000,
});
Run Code Online (Sandbox Code Playgroud)

最好的方法是什么?

Cod*_*rer 11

您应该设置应用程序范围的默认 Snackbar 配置

@NgModule({
  providers: [
    {provide: MAT_SNACK_BAR_DEFAULT_OPTIONS, useValue: {duration: 2500}}
  ]
})
Run Code Online (Sandbox Code Playgroud)

您仍然需要清理现有代码并删除传递了显式持续时间的实例,但未来的代码只能说this.snackbar.open(msg)没有任何选项。