Angular的Snackbar未消失
创始人
2024-10-24 10:01:40
0

在Angular应用程序中,Snackbar是一个常用的组件,它可以为用户提供短消息通知。然而,当Snackbar出现时未消失的情况也是很常见的。

要解决此问题,可以尝试以下几种方法:

1.使用settimeout 在Snackbar弹出之后,设置一个定时器,延迟一定的时间,然后将Snackbar从DOM中删除。

示例代码:

@ViewChild('snackBar', { static: true }) snackBar: SnackBarComponent;

showSnackBar() {
  this.snackBar.show();
  setTimeout(() => {
    this.snackBar.hide();
  }, 3000);
}

2.使用rxjs operator 可以使用RxJs操作符delay和takeUntil来解决此问题。Delay将等待指定时间,takeUntil将拦截组件销毁或页面更改时的事件。

示例代码:

this.snackBar.open('Snackbar message', 'Close').onAction().pipe( delay(3000), takeUntil(this._destroy) ).subscribe(() => { this.snackBar.dismiss(); });

_destroy = new Subject();

ngOnDestroy(): void { this._destroy.next(); this._destroy.complete(); }

在以上示例中,_destroy被用作一个rxjs的Subject对象,在组件销毁时使用。

3.使用cancel() Angular的Snackbar组件包含一个方法cancel(),该方法可以立即关闭Snackbar,而不需要等待到时间到期。

示例代码:

this.snackBarRef = this.snackBar.open('SnackBar Message', 'Close'); this.snackBarRef.afterDismissed().subscribe(() => { console.log('SnackBar dismissed'); });

this.snackBarRef.dismiss();

在以上示例中,关闭Snackbar时使用了Snackbar的dismiss方法。

总结: 以上是三种解决Angular中Snackbar未消失问题的方法,包括使用setTimeout,rxjs,以及SnackBar的方法。您可以根据您的具体情况,选择其中一种最适合您的解决方案。

相关内容

热门资讯

透明新版!晟和互娱辅助,We ... 透明新版!晟和互娱辅助,We poker辅助器下载(辅助挂)详细开挂辅助脚本;打开点击测试直接进入微...
玩家实测!小程序功夫川科技,泸... 玩家实测!小程序功夫川科技,泸州大二新手攻略(详细教程辅助开挂插件);无需打开直接搜索微信(1367...
透视存在!湖北逍遥卡五星辅助,... 透视存在!湖北逍遥卡五星辅助,智星菠萝透视(辅助挂)详细开挂辅助平台;无需打开直接搜索打开薇:136...
科普攻略!聚财app辅助,宝宝... 科普攻略!聚财app辅助,宝宝游戏辅助(真的有挂开挂辅助安装);打开点击测试直接进入微信(13670...
透视智能ai!博乐填大坑图片,... 您好:这款wepoker手机版透视脚本游戏是可以开挂的,确实是有挂的,很多玩家在这款wepoker手...
一分钟教你!开心泉州小程序辅助... 大家好,今天小编来为大家解答开心泉州小程序辅助哪里查看这个问题咨询软件客服可以免费测试直接加微信(1...
今日科普!凑一桌小程序辅助器,... 今日科普!凑一桌小程序辅助器,指尖四川辅助脚本苹果版(有挂技巧辅助插件);打开点击测试直接进入微信(...
透视能赢!财神13辅助器下载,... >>您好:财神13辅助器下载确实是有挂的,很多玩家在这款财神13辅助器下载游戏中打牌都会发现很多用户...
玩家攻略!约战辅助,九九山城辅... 玩家攻略!约战辅助,九九山城辅助免费(有挂功能开挂辅助神器);亲,九九山城辅助免费这款游戏原来确实可...
透视玄学!大当家辅助脚本设置,... wepoker黑侠辅助器正版下载是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要...