我使用材料2创建了Snackbar(下面我添加了演示)。当我点击页面底部显示消息(快餐栏)的按钮时,主页面中有一个按钮。我想将此(小吃栏消息)更改为页面的右上角。我怎样才能做到这一点 ??需要帮助
HTML
<button mat-button (click)="openSnackBar()" aria-label="Show an example snack-bar">
Pizza party
</button>
component.ts
export class SnackBarComponentExample {
constructor(public snackBar: MatSnackBar) {}
openSnackBar(message="DOne", action = '') {
this.snackBar.open(message, action, {
duration: 5000,
});
}
}
答案 0 :(得分:8)
另一种方法是指定verticalPosition
的{{1}}和horizontalPosition
配置选项,这些选项通过MatSnackBarConfig
中的config
参数传递
以下是一个例子:
MatSnackBar#open
从docs开始,openSnackBar(message: string, action?: string) {
this.snackbar.open(message, action ? action : undefined, {verticalPosition: 'top', horizontalPosition: 'end'});
}
只允许使用两个值:verticalPosition
和'top'
。
适用于'bottom'
,horizontalPosition
,'start'
,'center'
,'end'
和'left'
。
这里是updated demo
答案 1 :(得分:1)
这里有一些更新的CSS,它可以帮助你在左上角显示小吃店。
要获得更多效果,请查看here
https://stackblitz.com/edit/angular-mbgkfv-amqfpy?file=styles.css
这是您更新的stackblitz,它会在5秒后重新加载页面。
https://stackblitz.com/edit/angular-mbgkfv-nc6bk6?file=app/snack-bar-component-example.ts
答案 2 :(得分:0)
尝试:
export class SnackBarComponentExample {
constructor(public snackBar: MatSnackBar) {}
openSnackBar(message="DOne", action = '') {
this.snackBar.open(message, action, {
duration: 5000,
verticalPosition: 'top',
horizontalPosition:'right',
});
}
}
对我有用。
答案 3 :(得分:-1)
要在左上角添加小吃栏,请在全局styles.css页面中添加以下样式
.cdk-global-overlay-wrapper {
align-items: flex-start !important;
justify-content: flex-start !important
}
右上角
.cdk-global-overlay-wrapper {
align-items: flex-start !important;
justify-content: flex-end !important
}