angular - 有没有办法可以将 Snackbar 定位在@ngmodule 中?
问题描述
我在多个组件中使用snackbar,所以我决定在主模块中设置持续时间,我想将位置添加为顶部
这是我的app.module.ts
import { MatSnackBar, MatSnackBarVerticalPosition, MAT_SNACK_BAR_DEFAULT_OPTIONS } from '@angular/material/snack-bar';
.
.
@NgModule({
declarations: [],
imports: [],
providers: [
{provide: MAT_SNACK_BAR_DEFAULT_OPTIONS, useValue: {duration: 1500}}
],
bootstrap: [AppComponent]
})
export class AppModule {
}
编辑:snackbar 方法在另一个组件中是相同的。当我将它添加到组件方法时,它显示一个错误:
Argument of type '{ verticalPosition: any; }' 不可分配给“字符串”类型的参数。
当我添加持续时间时也发生了同样的情况。
商品组件
import { MatSnackBar, MatSnackBarHorizontalPosition, MatSnackBarVerticalPosition } from '@angular/material/snack-bar';
@Component({})
export class CommodityListComponent implements OnInit {
displayedColumns: string[] = [''];
verticalPosition: MatSnackBarVerticalPosition = 'top';
constructor(public svc: CommodityServiceService, private dialog: MatDialog,private _snackBar: MatSnackBar) { }
getList() {
this.svc.getCommodities();
}
ngOnInit() {
this.getList();
}
Edit(e:any) {
this.svc.Edit(e);
const conf = new MatDialogConfig();
conf.width = "30%";
this.dialog.open(CommodityComponent, conf);
}
openDialog() {
this.svc.form.reset();
const conf = new MatDialogConfig();
conf.width = "30%";
this.dialog.open(CommodityComponent, conf)
}
DeleteCommodity(e: any){
debugger
this.svc.DeleteRecord(e).subscribe(e => {
this.openSnackBar("Record Deleted");
this.svc.getCommodities();
});
}
openSnackBar(message: string) {
this._snackBar.open(message);
}
}
我正在使用角度 12.0.1
解决方案
在我的情况下,我没有在我的 openSnackbar 方法中添加操作字符串,它看起来像这样:
openSnackBar(message: string) {
this._snackBar.open(message,{
verticalPosition:this.verticalPosition
}
);
}
我认为这就是为什么它向我显示错误的原因。所以,我添加了action: string
参数并作为参数传递""
,我的方法看起来像这样:
openSnackBar(message: string,Action:string) {
this._snackBar.open(message,Action,{
verticalPosition:this.verticalPosition
}
);
}
它有效!
推荐阅读
- html - 带有背景图像的 div 被另一个带有背景图像的 div 覆盖
- python - Python Pulp 绝对约束
- testing - TFS 自动重置测试结果
- mysql - MySQL - 获取具有相同标识符的上一行
- c# - 如何修改位于datagridView中的复选框
- angular - 如何在角度 6 中为 mat-card 设置默认侧栏
- apache - 子域在 Apache2/Debian9 上不起作用
- reactjs - 如何将 SPFx 和 Reactjs 更改为 SPFx React-Redux?
- java - 如何在单独的行中打印每个地图条目的地图列表
- angular - ngFor 添加数组长度 - Angular 6