我可以像这样设置 snackbar 消息的持续时间

let config = new MdSnackBarConfig();
config.duration = 5000;

this.snackBar.open(element.text, 'OK', config);

但是,我需要为多个 snackbar 设置持续时间,而不必每次都传入配置。

我可以以某种方式设置全局持续时间配置吗?

谢谢!

最佳答案

我知道这篇文章是几年前的,但是为了将来引用,我还是要回答这个问题。希望我能像我一样帮助遇到这篇文章的人。

现在,您可以使用MatSnackBar中的提供程序,为模块注入(inject)默认选项的@NgModule:

import { MatSnackBarModule, MAT_SNACK_BAR_DEFAULT_OPTIONS } from '@angular/material';

@NgModule({
    declarations: [],
    imports: [
        MatSnackBarModule
    ],
    exports: [
        MatSnackBarModule
    ],
    providers: [
        { provide: MAT_SNACK_BAR_DEFAULT_OPTIONS, useValue: { duration: 2500 } }
    ]
})

资料来源:Material Angular doc's

10-04 22:34
查看更多