在前端实现小铃铛上展示消息

在这里插入图片描述
在这里插入图片描述
点击铃铛显示如下消息框:
在这里插入图片描述
如果点击消息,可以实现消息从列表中移除,并从铃铛总数上进行扣减对应的已读消息数。

关于以上功能的实现方式:

 <!-- 铃铛位置 --><i class="el-icon-bell" @click="showPopover = true"><span class="badge" v-if="notificationCount <= 99">{{ notificationCount }}</span><span class="badge" v-else>99+</span></i><!-- 列表框 --><!-- 虚化背景 --><div v-if="showPopover" class="popover" @click="closePopover"></div><div v-if="showPopover" class="popover-content"><!-- class="close-button"--><el-button class="close-button" size="mini" @click="showPopover = false">&times;</el-button><div style="line-height: 20px;">您的消息</div><ul class="notification-list"><li v-for="item in notifications" :key="item.id" class="notification-item"><div @click="clickLink(item)"><span><b>{{ item.title }}</b>:<el-tooltip :content ="item.content" effect="dark" placement="top-start"><span>{{ getTruncatedContent(item.content) }}</span></el-tooltip></span></div></li></ul></div></div>
export default {name: "xxx",data() {return {notificationCount: 99, // 初始化消息数量为0showPopover: false,//展示列表框notifications:[{id:1,title:"订单完成通知",content:"您好,您的DD234825205已经完成了,点击查看相关信息"},{id:2,title:"工单完成通知",content:"您好,您的GD93453872已经完成了,点击查看相关信息"},{id:3,title:"货物入库通知",content:"您好,入库流水号为3247942582,成功入库,点击查看详情"},{id:4,title:"订单完成通知",content:"您好,您的DD292342485已经完成了,点击查看相关信息"},{id:5,title:"发货通知",content:"您好,您的发货单#3358347520已经开始发货,点击查看详情"},{id:6,title:"物料出库通知",content:"您好,您的物料编号233847587528出库成功,点击查看详情"},{id:7,title:"miaow1",content:"xxxxxxxxxx"},{id:8,title:"miaow1",content:"xxxxxxxxxx"},{id:9,title:"miaow1",content:"xxxxxxxxxx"},{id:10,title:"miaow1",content:"xxxxxxxxxx"},{id:11,title:"miaow1",content:"xxxxxxxxxx"},{id:12,title:"miaow1",content:"xxxxxxxxxx"},{id:13,title:"miaow1",content:"xxxxxxxxxx"},]};},//用来检测文本内容长度computed: {getTruncatedContent() {return (content) => {if (content.length > 8) {return content.slice(0, 8) + '...';}return content;};},},methods :closePopover() {this.showPopover = false;},clickLink(notification){const index = this.notifications.indexOf(notification);if(index != -1){//在此获得相关路径,在用户点击相关信息的时候跳转链接//this.$router.push({path:"{{path}}"})this.notifications.splice(index,1);}if(this.notificationCount > 0){this.notificationCount --;}//然后跳转}
.bell-icon {position: relative;display: inline-block;}
.badge {// position: absolute;top: 100px;line-height:12px;right: 210px;background-color: white;color: red;border-radius: 50%;padding: 4px;font-size: 12px;}.popover {position: fixed;top: 0;right: 0;bottom: 0;left: 0;background-color: rgba(0, 0, 0, 0.5);z-index: 999;
}.popover-content {position: fixed;top: 56px;right: 120px;min-width: 220px;width: auto;max-height: 400px;background-color: white;box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);border-radius: 4px;padding: 10px;z-index: 1000;overflow-y: auto;
}.notification-list {list-style: none;// padding: 0;font-size:15px;margin: 0;padding:0px;line-height:30px;}.notification-item {margin-bottom: 0px;
}.notification-item h3 {margin: 0;font-size: 12px;
}.notification-item p {margin: 0;font-size: 12px;color: #888;
}
.notification-item b {margin: 0;font-size: 13px;//我在想要不要将消息进行区分,比如绿色代表成功,橙色代表警告,红色代表错误color: green;
}
.notification-item span {margin: 0;font-size: 12px;
}.close-button {position: absolute;top: 5px;right: 5px;border: none;background: none;font-size: 18px;// cursor: pointer;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/127124.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ubuntu启动报错error: proc_thermal_add, will cont

如题&#xff0c;ubuntu启动报错error: proc_thermal_add, will cont 截图如下&#xff1a; 困扰了我很久&#xff0c;差点就打算重装系统&#xff0c;准备放弃了&#xff0c;但是感谢国外的老哥&#xff0c;写了一篇非常详细的解决方案&#xff0c;我搬过来。 解决方案&#…

03-对象

对象 对象1.对象的创建字面量模式构造函数模式 2.对象的访问3.新增删除对象中的属性4.Object显示类型转换(强制类型转换)ECMAScript中可用的3种强制类型转换如下&#xff1a;Boolean(value)String(value)Number(value)Object类型到Boolean类型Object类型转String类型转换规则&a…

Redis通过复制rdb文件方式同步线上数据到本地以及提示:Can‘t handle RDB format version 9解决

场景 Redis的持久化机制-RDB方式和AOF方式&#xff1a; Redis的持久化机制-RDB方式和AOF方式_rdb 和ao-CSDN博客 Redis持久化机制导致服务自启动后恢复数据过长无法使用以及如何关闭&#xff1a; Redis持久化机制导致服务自启动后恢复数据过长无法使用以及如何关闭_霸道流氓…

【算法专题】双指针—盛最多水的容器

一、题目解析 分析这个题目不难得出一个容积公式 二、算法原理 解法一&#xff1a;暴力枚举&#xff08;超时&#xff09; 套用上述的容积公式&#xff0c;使用两个for循环来枚举出所有可能的情况&#xff0c;再挑出最大值即可&#xff0c;但是这种写法会超时&#xff0c;导致…

数据结构-初识泛型

写在前&#xff1a; 这一篇博客主要来初步的记录以下泛型的相关内容&#xff0c;内容比较琐碎&#xff0c;就不进行目录的整合&#xff0c;后续可能会对泛型这里进行系统性的梳理&#xff0c;此篇博客主要是对泛型有一个简单的认识与理解&#xff0c;需要知晓的内容。 当我调用…

2. 网络之网络编程

网络编程 文章目录 网络编程1. UDP1.1 DatagramSocket1.1.1 DatagramSocket 构造方法1.1.2 DatagramSocket 方法&#xff1a; 1.2 DatagramPacket1.2.1 DatagramPacket构造方法1.2.2 DaragramPacket方法1.2.3InetSocketAddress API 1.3 UDP回显服务器1.3.1 框架结构1.3.2 读取请…

Docker:命令

Docker&#xff1a;命令 1. 创建MySQL的命令解读2. 基础命令3. 案例 查看DockerHub&#xff0c;拉取Nginx镜像&#xff0c;创建并运行Nginx容器4. 命令别名附录 1. 创建MySQL的命令解读 docker run :创建并运行一个容器&#xff0c;-d 是让容器在后台运行--name:给容器起一个名…

使用脚本整合指定文件/文件夹,执行定制化 ESLint 命令

背景 最近面对一个庞大的项目&#xff0c;但是只需要修改某个模块&#xff0c;每次都手搓命令太麻烦了&#xff0c;于是就想着能不能写个脚本来辅助处理这些事情。 解决方案 定制化一键 ESLint&#xff0c;执行文件下载地址&#xff1a; https://github.com/mazeyqian/go-g…

Python 自动化(十六)静态文件处理

准备工作 将不同day下的代码分目录管理&#xff0c;方便后续复习查阅 (testenv) [rootlocalhost projects]# ls day01 day02 (testenv) [rootlocalhost projects]# mkdir day03 (testenv) [rootlocalhost projects]# cd day03 (testenv) [rootlocalhost day03]# django-admi…

基于nodejs+vue啄木鸟便民维修网站设计与实现

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性&#xff1a;…

element-plus走马灯不显示

问题描述 依赖正确&#xff0c;代码用法正确&#xff0c;但是element-plu走马灯就是不显示&#xff01;&#xff01; <div class"content"><el-carousel height"150px" width"200px"><el-carousel-item v-for"item in 4&qu…

1、Flink基础概念

1、基础知识 &#xff08;1&#xff09;、数据流上的有状态计算 &#xff08;2&#xff09;、框架和分布式处理引擎&#xff0c;用于对无界和有界数据流进行有状态计算。 &#xff08;3&#xff09;、事件驱动型应用&#xff0c;有数据流就进行处理&#xff0c;无数据流就不…

1 — NLP 的文本预处理技术

一、说明 在本文中&#xff0c;我们将讨论以下主题&#xff1a;1为什么文本预处理很重要&#xff1f;2 文本预处理技术。这个文对预处理做一个完整化、程序化处理&#xff0c;这对NLP处理项目中有很大参考性。 系列文章的后续&#xff1a; 2、NLP文本预处理技术&#xff1a;词干…

Whisper 从0安装教程 windows

这里写自定义目录标题 Whisper 从0安装教程 windows安装过程安装python3.11安装Anaconda在Anaconda里面安装whisper安装 ffmpeg第一次运行whisper检查GPU 一些弯路 Whisper 从0安装教程 windows 因为需要把语音变成文字稿&#xff0c;问了做语言相关的朋友&#xff0c;决定使用…

【深度学习基础】从R-CNN到Fast R-CNN,再到MaskR-CNN,发展历程讲清楚!

&#x1f4e2;&#xff1a;如果你也对机器人、人工智能感兴趣&#xff0c;看来我们志同道合✨ &#x1f4e2;&#xff1a;不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】 &#x1f4e2;&#xff1a;文章若有幸对你有帮助&#xff0c;可点赞 &#x1f44d;…

代码随想录第五十七天|● 392.判断子序列 ● 115.不同的子序列

392.判断子序列 题目&#xff1a; 给定字符串 s 和 t &#xff0c;判断 s 是否为 t 的子序列。 字符串的一个子序列是原始字符串删除一些&#xff08;也可以不删除&#xff09;字符而不改变剩余字符相对位置形成的新字符串。&#xff08;例如&#xff0c;"ace"是&qu…

Python之循环语句

循环普遍存在于日常生活中&#xff0c;同样&#xff0c;在程序中&#xff0c;循环功能也是至关重要的基础功能。 循环在程序中同判断一样&#xff0c;也是广泛存在的&#xff0c;是非常多功能实现的基础 while循环的基础语法 生活中的循环 程序中的循环 只要条件满足 会无限循…

【EI会议征稿】第四届生物信息学与智能计算国际学术研讨会(BIC 2024)

第四届生物信息学与智能计算国际学术研讨会&#xff08;BIC 2024&#xff09; 2024 4th International Conference on Bioinformatics and Intelligent Computing 2024年第四届生物信息学与智能计算国际学术研讨会 &#xff08;BIC 2024&#xff09;将定于2024年1月26-28日在…

循环神经网络 - RNN

循环神经网络&#xff08;Rerrent Neural Network,RNN&#xff09;是神经网络的一种&#xff0c;类似的还有深度神经网络&#xff08;DNN&#xff09;、卷积神经网路(CNN)、生成对抗网络&#xff08;GAN)等。**RNN对具有时序特性的数据非常有成效&#xff0c;他能挖掘数据中的时…

OSPF复习(2)

目录 一、LSA的头部 二、6种类型的LSA&#xff08;课堂演示&#xff09; 1、type1-LSA&#xff1a;----重要且复杂 2、type2-LSA&#xff1a; 3、type3-LSA&#xff1a; 4、type4-LSA&#xff1a; 5、type5-LSA&#xff1a; 6、type7-LSA&#xff1a; 三、OSPF的网络类…