我需要从snackBar自定义组件创建一些撤消逻辑。我正在面对challnge从自定义snackBar组件调用撤消逻辑函数。
SnackBar服务:
showSnackbar(mes: string){
let snackRef=this.snackBar.openFromComponent(SnakebarComponent, {
duration : 2000,
data: mes
});
}
SnackBar组件:
constructor(@Inject(MAT_SNACK_BAR_DATA) public data: any) { }
message = this.data;
ngOnInit() {
}
onClick(){
// Undo Button of custom component
}
组件调用snackBar
this._utility.showSnackbar('Saved Successfull!!');
请帮助我实现同样目标。
答案 0 :(得分:3)
我想你可能正在寻找这种方法dismissWithAction()
。在你的函数中,在Snackbar的引用上调用dismissWithAction()
,关闭小吃栏。
来自官方文件:
dismissWithAction
:标记点击的快餐栏操作 - Angular Material -MatSnackBarRef
API
示例:
// ...
export class CustomSnackBar {
constructor(private snackBarRef: MatSnackBarRef<CustomSnackBar>){ }
onActionBtnClick() {
this.snackBarRef.dismissWithAction();
}
}
打开小吃店的代码:
let snackBarRef = this.snackBar.openFromComponent(CustomSnackBar);
snackBarRef.onAction().subscribe(() => {
console.log('Action button clicked!');
})