I'm using snackbar in multiple components so i decided to set duration in main module and i want to add position as top
Here is my 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 {
}
Edit:
The snackbar method is same in another component.When i add it to the component method it shows an error:
Argument of type '{ verticalPosition: any; }' is not assignable to parameter of type 'string'.
Same happened when i added duration.
CommodityComponent
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);
}
}
I'm using angular 12.0.1