位置: IT常识 - 正文

vue通知提醒消息(vue 提示)

编辑:rootadmin
vue通知提醒消息

目录

前言

一、Notification

二、Notification引用

           1.全局引用

           2.单独引用

三、参数说明

四、简单案例 

五、项目实战

1、定义全局Notification。

2、Websocket实时接收通知。

3、消息通知


前言

推荐整理分享vue通知提醒消息(vue 提示),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue系统通知,vue推送消息,vue 消息通知,vue 提示,vue消息框,vue 消息通知,vue 消息通知,vue 消息通知,内容如对您有帮助,希望把文章链接给更多的朋友!

最近有个项目需求就是在客户端的右上角要实时展示提醒消息,下面来看下简单的实现步骤

一、Notification

这是基于悬浮出现在页面角落,显示全局的通知提醒消息。这个elmennt-ui组件可以实现我们上面的功能。

二、Notification引用1.全局引用vue通知提醒消息(vue 提示)

element 为 Vue.prototype 添加了全局方法 $notify。因此在 vue instance 中可以采用本页面中的方式调用 Notification。

2.单独引用

import { Notification } from 'element-ui';

此时调用方法为 Notification(options)。我们也为每个 type 定义了各自的方法,如 Notification.success(options)。并且可以调用 Notification.closeAll() 手动关闭所有实例。

三、参数说明

四、简单案例 

右上角就会弹出我们写的html代码段是不是特别简单

<template> <el-button plain @click="open"> 使用 HTML 片段 </el-button></template><script> export default { methods: { open() { this.$notify({ title: 'HTML 片段', dangerouslyUseHTMLString: true, message: '<strong>这是 <i>HTML</i> 片段</strong>' }); } } }</script>五、项目实战

这里大概说一下我的流程,我这里需要建立Websocket连接,服务器实时推送信息给客户端在右上角展示,这里需要用到Websocket以及本章学的通知。Websocket在前一章有讲。案例仅供参考。

1、定义全局Notification。/* 全局Notification */Vue.prototype.$baseNotify = (message, title, type, position) => {Notification({title: title,message: message,position: position || 'top-right',type: type || 'success',duration: messageDuration,})}2、Websocket实时接收通知。initWebSocket() { const token = getAccessToken() const wsurl = `${this.troubelUrl}?code=trouble&token=${token}` this.twebsock = new WebSocket(wsurl) this.twebsock.onmessage = this.websocketonmessage this.twebsock.onopen = this.websocketonopen this.twebsock.onerror = this.websocketonerror this.twebsock.onclose = this.websocketclose }, websocketonopen() { //webscoket定时心跳 this.troubleTimer = setInterval(() => { let pageUrl = window.location.hash if (pageUrl !== '' && pageUrl !== '#/login') { this.websocketsend('heartbeat') } }, 50000) console.log('数据发送...') }, websocketonerror(e) { //连接建立失败重连 setTimeout(() => { this.initWebSocket() }, 10000) console.log('故障连接出错~') }, websocketonmessage(evt) { var monitorData = evt.data monitorData = JSON.parse(monitorData) this.switchOther(this.troublePush, monitorData) }, //根据数据判断进行弹框(紧急呼叫,长时间关人) switchOther(switchValue, monitorData) { if (switchValue === true || switchValue === 'true') { this.handleOpen(monitorData) } }, websocketsend(data) { this.twebsock.send(data) }, websocketclose(e) { if (this.twebsock == null) { return } this.twebsock.close() this.twebsock = null clearInterval(this.troubleTimer) console.log('故障推送关闭~') },3、消息通知 //monitorItem取的前面Websocket返回回来的值 handleOpen(monitorItem) { this.openDialogflase = true const h = this.$createElement let notify = this.$notify({ title: monitorItem.troubleType, message: h('p', null, [ h( 'span', { style: { display: 'inline-block', margin: '0 0 10px 0', }, }, `${monitorItem.projectName}-${monitorItem.useCode}` ), h( 'p', { style: { display: 'flex', alignItems: 'center', justifyContent: 'space-between', margin: '0 0 5px 0', }, }, [ h('span', null, monitorItem.duration), h( 'span', { style: { color: '#efefef', }, }, monitorItem.fromType ), ] ), h('p', null, monitorItem.address), h( 'button', { style: { padding: '5px 20px', fontSize: '14px', borderRadius: '4px', color: '#fff', background: '#ff575a', border: 'none', margin: '10px 10px 0 0', display: 'inline-block', }, on: { click: this.clickBtn.bind(this, monitorItem), }, }, '查看详情' ), h( 'button', { style: { padding: '5px 20px', fontSize: '14px', borderRadius: '4px', color: '#fff', background: '#ff575a', border: 'none', margin: '10px 10px 0 0', display: 'inline-block', }, on: { click: this.handleShi.bind(this, monitorItem), }, }, '双向视频' ), h( 'button', { style: { padding: '5px 20px', fontSize: '14px', borderRadius: '4px', color: '#fff', background: '#ff575a', border: 'none', margin: '10px 0 0 0', display: 'inline-block', }, on: { click: this.handleQuXiao.bind(this, monitorItem), }, }, '取消' ), ]), duration: 0, showClose: false, }) //将通知实例放入 this.notifications[monitorItem.orderKey] = notify this.handleAudio() }, //关闭当前故障弹框 handleQuXiao(monitorItem) { this.openDialogflase = false this.notifications[monitorItem.orderKey].close() delete this.notifications[monitorItem.orderKey] }, //关闭所有弹窗 closeAll() { let vue = this for (let key in vue.notifications) { vue.notifications[key].close() delete vue.notifications[key] } },
本文链接地址:https://www.jiuchutong.com/zhishi/296046.html 转载请保留说明!

上一篇:JavaWeb简易复习手册(javaweb知识点汇总)

下一篇:GPT-4介绍&api申请(Chatgpt plus)(gpt3 api)

  • 苹果11怎么进入刷机模式(苹果11怎么进入恢复模式)

    苹果11怎么进入刷机模式(苹果11怎么进入恢复模式)

  • 华为畅享7s手机sim卡怎么安装(华为畅享7s手机图片)

    华为畅享7s手机sim卡怎么安装(华为畅享7s手机图片)

  • 打开资源管理器的快捷键(打开资源管理器后,要改变文件的显示方式)

    打开资源管理器的快捷键(打开资源管理器后,要改变文件的显示方式)

  • 腾讯实名认证修改不符合条件怎么办(腾讯实名认证修改入口)

    腾讯实名认证修改不符合条件怎么办(腾讯实名认证修改入口)

  • 企业微信是什么(企业微信是什么字体)

    企业微信是什么(企业微信是什么字体)

  • 华为nova7se没有返回键吗(华为nova7se没有录音功能)

    华为nova7se没有返回键吗(华为nova7se没有录音功能)

  • 一天发多少短信会封号(一天发多少短信会封卡)

    一天发多少短信会封号(一天发多少短信会封卡)

  • 苹果11怎么用nfc刷门禁(苹果11怎么用nfc刷校园卡)

    苹果11怎么用nfc刷门禁(苹果11怎么用nfc刷校园卡)

  • 抖音为什么不能回关(抖音为什么不能微信支付钱了呢)

    抖音为什么不能回关(抖音为什么不能微信支付钱了呢)

  • 15天内发货一般是几天(15天内发货一般等多久)

    15天内发货一般是几天(15天内发货一般等多久)

  • 华为p40pro第一次充电发烫(华为p40pro第一次充电需要把电用完吗)

    华为p40pro第一次充电发烫(华为p40pro第一次充电需要把电用完吗)

  • 快手主页怎么把联系电话挂上去(快手主页怎么把快手小店关闭)

    快手主页怎么把联系电话挂上去(快手主页怎么把快手小店关闭)

  • 电视频道串台怎么办(电视频道串台怎么回事)

    电视频道串台怎么办(电视频道串台怎么回事)

  • 喜马拉雅显示网络异常(喜马拉雅显示网络异常怎么回事)

    喜马拉雅显示网络异常(喜马拉雅显示网络异常怎么回事)

  • 头条为什么不能分享到朋友圈了(头条为什么不能分享到微信)

    头条为什么不能分享到朋友圈了(头条为什么不能分享到微信)

  • 怎么消除微信未读消息(怎么消除微信未读信息的提示)

    怎么消除微信未读消息(怎么消除微信未读信息的提示)

  • dps文件怎么打开(dpsf文件怎么打开)

    dps文件怎么打开(dpsf文件怎么打开)

  • 天猫魔屏m1怎么手机投屏(天猫魔屏m1怎么和手机连接)

    天猫魔屏m1怎么手机投屏(天猫魔屏m1怎么和手机连接)

  • 天猫买东西不发货怎么办(天猫买东西不发取件码)

    天猫买东西不发货怎么办(天猫买东西不发取件码)

  • 如何下载谷歌地图app(如何下载谷歌地球)

    如何下载谷歌地图app(如何下载谷歌地球)

  • 手机怎么访问网站(手机怎么访问网址链接)

    手机怎么访问网站(手机怎么访问网址链接)

  • 华为p30是不是自带膜(华为p30有自动定位吗)

    华为p30是不是自带膜(华为p30有自动定位吗)

  • 华为手机智慧识屏在哪(华为手机智慧识物在哪里开启啊)

    华为手机智慧识屏在哪(华为手机智慧识物在哪里开启啊)

  • 文本文档怎么改格式(文本文档怎么改编码格式)

    文本文档怎么改格式(文本文档怎么改编码格式)

  • win10任务栏没有输入法图标(Win10任务栏没有wifi图标)

    win10任务栏没有输入法图标(Win10任务栏没有wifi图标)

  • 角马群穿越在肯尼亚和坦桑尼亚之间的马拉河 (© zhengvision/Getty Images)(角马群的迁徙方向)

    角马群穿越在肯尼亚和坦桑尼亚之间的马拉河 (© zhengvision/Getty Images)(角马群的迁徙方向)

  • 一般纳税人和小规模纳税人哪个合适
  • 那些车不用交税
  • 印花税入什么科目核算成本
  • 出口退税附加税分录怎么写
  • 家庭保洁服务价格表
  • 汇算清缴后发现多结转了成本
  • 开发区代管
  • 房屋建筑物折旧率计算
  • 行政事业单位收据样本
  • 暂估成本跨年后未收到票如何处理
  • 工程施工合同如何核算收入成本?
  • 旧设备变现损失抵减所得税怎么算
  • 私车公用保险费用公司承担吗
  • 建筑业预交的增值税
  • 小规模纳税人普票超过30万怎么交税
  • 小规模纳税人的认定标准是什么
  • 案例分析建筑业差额征税如何进行账务处理?
  • 少计提的增值税怎么处理
  • 纳税人必须熟知什么
  • 企业在筹建期间发生的费用
  • 继承房产也需要缴税吗
  • 生产性生物资产包括哪些
  • 以前年度损益调整借贷方向
  • 开发票货物或应税服务两行怎么开
  • 基金预算收入核算的内容包括
  • 暂停装修
  • 押金算不算房租
  • 往来账会计怎么做
  • 赎回理财产品的利息怎么做账
  • 不得抵扣的进项税额计入哪里
  • win11安卓子系统教程
  • php精确的统计在哪里找
  • 以产品对外投资需要进项税额转出吗
  • 计提劳务派遣人数怎么算
  • 其他应付款不用付了怎么做分录
  • php null false
  • kk协议
  • 泛型 static
  • setdo指令
  • 人才引进的安家费
  • 当月交印花税会计分录
  • 城镇土地使用税减免税政策
  • 递延所得税资产借贷方向
  • php 错误提示
  • 低值易耗品在年报上怎么看的
  • 税务法新规
  • 浅谈一下新冠的好处
  • 接待客人后的感受和过程
  • 公司向股东个人借款怎么做账
  • 期末库存商品怎么结转
  • 其他应付款转应付账款分录
  • 金税盘技术维护费
  • 投资收益科目的借贷
  • 业务招待费算期间费用吗
  • 什么是定额发票图片
  • 会计准则应收账款计提坏账
  • 明细账建账的步骤
  • 总分类账建账顺序
  • mysql8 存储引擎
  • win7电脑默认打开方式怎么设置
  • xp系统许多网页打不开
  • mac怎样解压缩
  • linux中apt-get和yum
  • windows8 enterprise
  • xp无法启动如何修复
  • centos7安装中文包
  • win8怎么系统重装系统
  • win7系统怎么操作
  • win7连接路由器设置
  • 你不一定知道的地方
  • python简易
  • linuxpasswd详解
  • jquery如何实现双向绑定
  • 15个常用的excel函数公式
  • Python 装饰器深入理解
  • node 开发
  • 湖南省电子税务局登录
  • 房子总额70万首付多少
  • 是否开具发票就要确认企业所得税收入?
  • 担保机构和银行的区别
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设