当前位置: 首页 > news >正文

Notification 分不同实例关闭

vue3使用 element-plus中的Notification 实现一个 消息通知的功能。需求:,每当 socket 通知到位,系统右下角就会自动弹出一个 notification 弹框通知。 对应弹框点击后,做对应推送数据的处理且关闭 具体某个 消息通知。(多个消息通知,到底如何处理呢!)

// socket 接受消息后处理回调
wsWrn.addCb('C_WRN', (data: ISocketMsg) => {const messageObj = data.dataif (data.type === 'warning') {const notifyItem: any = ElNotification({dangerouslyUseHTMLString: true,icon: 'WarningFilled',  // 图标可 自定义, 也可自带组件库iconmessage: `内容`,position: 'bottom-right',duration: 60000,customClass: 'notifyStyleYj', // 给定特定class  修改弹框通知样式onClick: async () => {// 点击该通知回调 },onClose: () => {// 关闭后 需删除对应Notification实例delete earlyWarningMsgStore.notifyMap[messageObj.id]},})if (messageObj.id) {// 这里的操作是 接到消息通知后,存储到缓存中 使用messageId作为弹窗的key,用来获取弹窗的实例,以对对应弹窗进行操作。earlyWarningMsgStore.notifyMap[messageObj.id] = notifyItem}}})// 注意:  每条数据id 是 每个不同的Notification实例。  等外部 或者其它操作处理完该 socket 通知,一定要记得关闭该实例通知.close()方法   及删除该存储实例。

还有个关键性问题就是 根据需求,点击某个通知后需el-dialog 弹框中处理内容。此时消息弹框 层级比 el-dialog 高,这样就造成了无限点击 出现多个弹框问题。

.notifyStyleYj {// 组件库弹框最小z-index为2000 为显示在dialog下层级设置z-index: 1999 !important;}

问题解决,就到此结束啦!


http://www.mrgr.cn/news/6533.html

相关文章:

  • 什么是关键词难度?
  • RISC-V全志D1多媒体套件文章汇总
  • OCR识别行驶证(阿里云和百度云)
  • Axios 中的相关参数
  • 图论 最短路
  • webrtc ns 降噪之粉红噪声参数推导
  • 我们再次陷入软件危机
  • 提高实时多媒体传输效率的三大方法
  • io进程----标准io
  • 开源AI智能名片商城小程序在私域流量运营中的转化效率与ROI提升研究
  • DM8守护集群部署、数据同步验证、主备切换
  • PyQtGraph库的基本使用
  • 进程函数练习
  • Apache Doris安装部署
  • vue-cli搭建过程,elementUI搭建使用过程
  • Ubuntu下部署Hadoop集群+Hive(一)
  • 总结:Python语法
  • 喜报 | 麒麟信安“信创云桌面解决方案”在浙江省委党校应用实施,荣膺国家级示范案例
  • 浅谈对Maven的理解
  • 【工作记录】springboot中基于redis实现地理位置相关需求@20240822