Angular Material 7 – SnackBar

Angular Material 7 – SnackBar

Angular Material 7Angular 官方推出的一套前端 UI 框架。其中的 SnackBar 组件是提供给开发者的一种类似于浏览器默认通知弹窗的组件。它可以在你页面的角落以浮动形式展示一个信息提示,且具有关闭按钮和用户响应事件。下面,我们将详细讲述 SnackBar 的用法。

安装 Angular Material

在使用 SnackBar 前必须先安装 Angular Material,安装方式很简单,在 Angular Cli 中运行以下命令即可:

ng add @angular/material

这个命令将会提示你输入 Angular Material 主题,你可以根据项目配色自行选择。在安装完成后,我们可以引入 SnackBar 组件。

引入 SnackBar

在你的 Angular 项目中,你可以使用以下语句引入 SnackBar

import { MatSnackBar } from '@angular/material';

如果你需要在模板文件中使用 SnackBar,还需要在模块文件中导入 MatSnackBarModule

import { MatSnackBarModule } from '@angular/material/snack-bar'; 

@NgModule({
  imports: [ MatSnackBarModule ],
  ...
})
export class AppModule { }

使用 SnackBar

在你的组件中,你需要先注入 MatSnackBar

constructor(public snackBar: MatSnackBar) { }

然后,使用以下代码来展示一个 SnackBar

this.snackBar.open('提示信息', '关闭', { duration: 3000 });

这里我们传入三个参数,分别代表 展示的信息关闭按钮的文本SnackBar 存在的时间。当然,你可以省略其中的任何一个参数——即,若没有传入关闭按钮的文本,则不会显示关闭按钮;若不传入 Snackbar 存在的时间,则 Snackbar 将一直展示,直到用户手动关闭。

此外,SnackBar 还可以响应用户的点击事件,你可以使用以下代码来监听用户点击事件:

this.snackBar.open('提示信息', '关闭', { duration: 3000 }).onAction().subscribe(() =>{
  console.log('用户点击了"关闭"');
});

你也可以给 SnackBar 定义样式类,以与你的主题相吻合:

this.snackBar.open('提示信息', '关闭', { duration: 3000, panelClass: ['info-snackbar'] });

这里我们在 styles.scss 文件中定义如下类:

.info-snackbar{
  background-color: #33aa99;
  color: #fff;
  font-size: 16px;
}

结论

Angular Material 中的 SnackBar 组件是非常实用的。它为我们展示消息提供了良好的 UI 体验,并且其 API 非常简单,开发者能够轻松地掌握它的用法。在你需要向用户展示消息时,不妨尝试使用 SnackBar

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程