位置: 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)

  • 录的视频太长怎么发送给微信朋友(录的视频太长怎么压缩)

    录的视频太长怎么发送给微信朋友(录的视频太长怎么压缩)

  • 快手小店买东西只能申请一次退款吗(快手小店买东西钱是直接打给店家的吗)

    快手小店买东西只能申请一次退款吗(快手小店买东西钱是直接打给店家的吗)

  • 华为手机怎么设置信息不显示(华为手机怎么设置指纹解锁)

    华为手机怎么设置信息不显示(华为手机怎么设置指纹解锁)

  • qq隐藏会话有什么用(qq隐藏会话什么意思显示消息吗)

    qq隐藏会话有什么用(qq隐藏会话什么意思显示消息吗)

  • 手机号码无服务是什么意思(手机号码无服务是不是被注销了)

    手机号码无服务是什么意思(手机号码无服务是不是被注销了)

  • shp文件用什么软件打开(shp文件包含什么)

    shp文件用什么软件打开(shp文件包含什么)

  • 苹果11主卡在上面还是下面(苹果11为啥主卡显示在下面)

    苹果11主卡在上面还是下面(苹果11为啥主卡显示在下面)

  • 商家退款红包哪里去了(商家退款发红包怎么领取)

    商家退款红包哪里去了(商家退款发红包怎么领取)

  • 怎么知道自己qq密码是什么(怎么知道自己qq注册时间)

    怎么知道自己qq密码是什么(怎么知道自己qq注册时间)

  • .epub是什么文件(epub是什么文件格式可以打印吗)

    .epub是什么文件(epub是什么文件格式可以打印吗)

  • 纽扣电池没电了怎么办(纽扣电池没电了会漏液吗)

    纽扣电池没电了怎么办(纽扣电池没电了会漏液吗)

  • 视频会员怎么取消续费(视频会员怎么取消自动包月支付宝)

    视频会员怎么取消续费(视频会员怎么取消自动包月支付宝)

  • 信息显示感叹号是什么意思(为什么信息显示感叹号)

    信息显示感叹号是什么意思(为什么信息显示感叹号)

  • qq群主可以撤回别人的消息吗(qq群主可以撤回自己的消息吗)

    qq群主可以撤回别人的消息吗(qq群主可以撤回自己的消息吗)

  • 金立手机怎么换锁屏模式(金立手机怎么换锁屏壁纸)

    金立手机怎么换锁屏模式(金立手机怎么换锁屏壁纸)

  • 怎么恢复qq聊天记录(怎么恢复qq聊天记录的内容)

    怎么恢复qq聊天记录(怎么恢复qq聊天记录的内容)

  • 开发app没有数据怎么办(开发app数据如何储存)

    开发app没有数据怎么办(开发app数据如何储存)

  • 企业公众号申请流程(企业公众号申请需要哪些资料)

    企业公众号申请流程(企业公众号申请需要哪些资料)

  • iphonexr港版支持电信卡吗(苹果xr港版可以用国行充电器吗)

    iphonexr港版支持电信卡吗(苹果xr港版可以用国行充电器吗)

  • 怎么设置不接电话(怎么设置不接电话不收短信)

    怎么设置不接电话(怎么设置不接电话不收短信)

  • 怎么设置锁屏禁止关机(怎么设置锁屏状态下禁止关机)

    怎么设置锁屏禁止关机(怎么设置锁屏状态下禁止关机)

  • 如何创建Win11还原点?win1设置还原点步骤(win11怎么创建新用户)

    如何创建Win11还原点?win1设置还原点步骤(win11怎么创建新用户)

  • 【TypeScript入门】TypeScript入门篇——枚举(enum)(typescript教程推荐)

    【TypeScript入门】TypeScript入门篇——枚举(enum)(typescript教程推荐)

  • React 高阶组件(react高阶组件)

    React 高阶组件(react高阶组件)

  • 饮食企业简介
  • 城市维护建设税的计税依据是什么
  • 自产用于捐赠的会计处理
  • 企业所得税不含税价格怎么算
  • 上年多计提增值税,今年如何调整
  • 农民工工资保证金管理暂行办法
  • 事业单位财政拨款取得方式
  • 非税项目明细代码
  • 事业单位固定资产
  • 增值税留抵退税政策2022
  • 货到票未到怎么入账
  • 股东退出资本金收回
  • 营改增后房产土地作价入股该如何做税务处理?
  • 税务年报多少钱
  • 发票一直报送中,开不了发票
  • 团队建设费用怎么入账
  • 股东退股未分配股利
  • 非公党费返还
  • 外经证预缴税款必须去外地交税吗
  • 32位升级64位系统教程
  • 工商企业年报网上申报流程
  • php有啥用
  • php字符串赋值
  • PHP:curl_file_create()的用法_cURL函数
  • 虎刺梅怎么养殖视频
  • 企业收到的保险理赔款会计分录
  • 企业盘盈资产开什么发票
  • 老年人经常便秘怎么办
  • 雪花 (© TothGaborGyula/Getty Images Plus)
  • 处置可供出售金融资产原先进入公允价值变动损益
  • 桥梁水泥和普通水泥有什么区别
  • 收到职称评审费怎么做账
  • vue2路由跳转页面不刷新问题
  • 现金和现金等价物包括哪些
  • 外贸企业出口退税申报流程
  • 工会经费月月都缴纳吗?
  • 预交增值税款在申报表哪里填列的
  • 公司多余的钱叫什么
  • 员工借现金分录
  • phpcms不支持https怎么办
  • vue this.$ref
  • 企业基金分红具体流程
  • 存货周转率是指企业某一会计
  • 无形资产摊销账面价值
  • 私车公用产生的费用如何入账
  • 让渡资产使用权什么意思
  • 如果企业长期股票怎么办
  • 现金流量表是年度报表
  • 存货质押融资的公司有哪些
  • 股权激励费用摊销意思是
  • 合理损耗怎么算
  • 收到红字进项发票先勾选再做转出吗
  • 股票交易费用计算器小程序
  • 租赁财产的残值处理
  • 哪些资产减值损失确认过后是可以转回的
  • 全民用车app下载
  • 国内的windows是正版吗
  • debian10配置ipv6地址
  • Fedora Core 8中yum设置
  • mac照片内存清理
  • 双系统怎么转移文件
  • win7自带桌面时钟吗
  • windows8如何使用
  • win10预览版和正式版区别
  • cocos2djs教程
  • unity 移动应用开发
  • js与css有什么区别
  • 批处理!!
  • bat修改注册表数值
  • 基于贪心算法
  • node.js快速入门
  • JavaScript 事件绑定及深入
  • python爬取教程
  • 税务机关党建动员大会
  • 国税备案的作用是什么
  • 组织创新包括哪些类型
  • 什么是解放思想?请阐述解放思想和实事求是之间的关系
  • 运输装卸费属于增值税价外费用吗
  • 江苏社保缴费基数是什么意思
  • 物流运输公司进项有哪些
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设