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

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

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

 <!-- 铃铛位置 -->
          <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, // 初始化消息数量为0
      showPopover: 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;
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

阿里云OS系统Alibaba Cloud Linux 3系统的安全更新命令

给客户部署的服务&#xff0c;进入运维阶段&#xff0c;但是经常被客户监测到服务器漏洞&#xff0c;现在整理一下&#xff0c;服务器漏洞问题更新命令步骤。 服务器系统&#xff1a; 阿里云linux服务器&#xff1a;Alibaba Cloud Linux 3 漏洞类型和描述&#xff1a; #3214…

K8s Error: ImagePullBackOff 故障排除

Error: ImagePullBackOff 故障排除 1. 起因 起因是要在一组k8s环境下做个Prometheus的测试,当时虚拟机用完直接暂停了. 启动完master和node节点后重启了这些节点. 当检查dashboard时候发现Pod处于ImagePullBackOff状态,使用命令查看详细情况 kubectl describe pods -n kuber…

hadoop配置文件自检查(解决常见报错问题,超级详细!)

本篇文章主要的内容就是检查配置文件&#xff0c;还有一些常见的报错问题解决方法&#xff0c;希望能够帮助到大家。 一、以下是大家可能会遇到的常见问题&#xff1a; 1.是否遗漏了前置准备的相关操作配置&#xff1f; 2.是否遗的将文件夹(Hadoop安装文件夹&#xff0c;/dat…

力控关节性能指标

力控关节是一种用于机器人的关节&#xff0c;具有强大的力控制能力&#xff0c;通常用于执行需要精确力量控制的任务&#xff0c;例如装配、协作操作、力导引操作等。 电机的伺服驱动器通常包括三种控制环——位置环、速度环和电流环。虽然每种控制环的目的是控制电机性能的不同…

无声的世界,精神科用药并结合临床的一些分析及笔记(十)

目录 回 “ 家 ” 克服恐惧 奥沙西泮 除夕 酒与药 警告 离别 回 “ 家 ” 她的锥切手术进行的很顺利&#xff0c;按计划继续返回安定医院调节心理状态&#xff0c;病友们都盼着我们回“家”。当我俩跨入病区&#xff0c;大家都涌过来帮我们大包小包的拎着行李&#xff0…

景联文科技:高质量数据采集清洗标注服务,助力大语言模型红蓝对抗更加精准高效

红蓝对抗是一种测试和评估大语言模型的方法。通过模拟真实世界测试AI模型的潜在漏洞、偏见和弱点&#xff0c;确保大型语言模型的可靠性和性能。 在红蓝对抗过程中&#xff0c;由主题专家组成的专业团队负责模拟攻击和提供反馈&#xff0c;他们试图诱导AI模型产生不当行为&…

【Linux】基本指令-入门级文件操作(三)

目录 基本指令 14 head指令 15 tail指令 管道 16 find指令 17 grep指令 18 zip&#xff06;unzip指令 19 tar指令 20 su指令 总结 基本指令 14 head指令 功能&#xff1a;在屏幕上显示文件的内容&#xff0c;默认显示前10行&#xff0c;如果加上选项-n&#xff0c;则…

如何利用Jmeter从0到1做一次完整的压测?这2个步骤很关键!

压测&#xff0c;在很多项目中都有应用&#xff0c;是测试小伙伴必备的一项基本技能&#xff0c;刚好最近接手了一个小游戏的压测任务&#xff0c;一轮压测下来&#xff0c;颇有收获&#xff0c;赶紧记录下来&#xff0c;与大家分享一下&#xff0c;希望大家能少踩坑。 一、压…

uniapp 微信小程ios端键盘弹起后导致页面无法滚动

项目业务逻辑和出现的问题整理 新增页面 用户可以主动添加输入文本框 添加多了就会导致当前页面出现滚动条,这就导致ios端滚动页面的时候去点击输入框键盘抬起再关闭的时候去滚动页面发现页面滚动不了(偶尔出现),经过多次测试发现是键盘抬起的时候 主动向上滑动 100%出现这种问…

备份doris数据到minio

1、MINIO 设置 创建服务账户&#xff0c;记住ACCESS_KEY和SECRET_KEY 创建Buckets doris 设置region 在首页查看服务ip和端口号 2、创建S3备份库 因为minio是兼容S3协议的&#xff0c;所以可以通过s3协议链接minio。 CREATE REPOSITORY minio WITH S3 ON LOCATION "s3://…

CSC公派研究生项目|北语北外2024年寒假英语培训班正在招生

北京语言大学出国部、北京外国语大学出国部近期发布了2024年寒假“国家建设高水平大学公派研究生项目”英语培训的通知&#xff0c;知识人网小编特归纳整理&#xff0c;供有需求的同学参考。 北京语言大学 我部将于2024年寒假举办“国家建设高水平大学公派研究生项目”英语培训…

基于RK3568的新能源储能能量管理系统ems

新能源储能能量管理系统&#xff08;EMS&#xff09;是一种基于现代化技术的系统&#xff0c;旨在管理并优化新能源储能设备的能量使用。 该系统通过监测、调度和控制新能源储能设备来确保能源的高效利用和可持续发展。 本文将从不同的角度介绍新能源储能能量管理系统的原理、…

AI技术发展:防范AI诈骗,守护数字安全

随着AI技术的迅猛发展&#xff0c;人工智能赋予了计算机更多的能力&#xff0c;包括自然语言处理、图像生成、声音合成等。这些领域的突破为人们提供了全新的体验和便捷&#xff0c;但同时也催生了一些潜在的安全风险&#xff0c;其中最突出的就是AI诈骗。本文将探讨如何防范AI…

使用 PyTorch 构建自定义 GPT

一、介绍 介绍大模型&#xff0c;首先考虑一下使用 ChatGPT、Bing Chat 或 Bard 。您是否想过拥有自己的 ChatGPT 会是什么样子&#xff1f;想象一下创建自己的 GPT 模型的兴奋程度。这确实是一种难以置信的感觉&#xff01; 为了开始构建自定义 GPT 的旅程&#xff0c;让我们仔…

算法leetcode|86. 分隔链表(rust重拳出击)

文章目录 86. 分隔链表&#xff1a;样例 1&#xff1a;样例 2&#xff1a;提示&#xff1a; 分析&#xff1a;题解&#xff1a;rust&#xff1a;go&#xff1a;c&#xff1a;python&#xff1a;java&#xff1a; 86. 分隔链表&#xff1a; 给你一个链表的头节点 head 和一个特…

echarts 简单渐变折线图

渐变颜色多个折线图 import * as echarts from echarts/core // 看个人项目echart引入方式 options: {tooltip: {trigger: axis},yAxis: {type: value,name: 能耗&#xff1a;标准煤kg},legend: {icon: circle,itemHeight: 8,itemWidth: 8,top: 1%,left: center// selectedMo…

版本控制系统-SVN

SVN Apache Subversion 通常被缩写成 SVN&#xff0c;是一个开放源代码的版本控制系统。 官网&#xff1a;https://subversion.apache.org 资料&#xff1a;https://svnbook.red-bean.com、https://www.runoob.com/svn/svn-tutorial.html 下载&#xff1a;https://sourceforg…

分享99个工作总结PPT,总有一款适合您

分享99个工作总结PPT&#xff0c;总有一款适合您 PPT下载链接&#xff1a;https://pan.baidu.com/s/1ETaGRUsTRRQq3i5PJUX7tA?pwd8888 提取码&#xff1a;8888 Python采集代码下载链接&#xff1a;采集代码.zip - 蓝奏云 黑金商务路演工作汇报PPT模板 古韵中国风财务计…

瑞禧生物分享~今天是 碲化银粉体 Ag2Te CAS:12002-99-2

碲化银粉体 Ag2Te CAS&#xff1a;12002-99-2 纯度&#xff1a;99% 仅用于科研 储藏条件&#xff1a;冷藏-20℃ 简介&#xff1a;碲化银是一种无机化合物&#xff0c;化学式是Ag2Te。它是一种单斜晶体&#xff0c;并以矿物的形式存在于自然界中。化学计量的碲化银具有n型半导…

自家开发VS第三方美颜SDK:技术和资源的比较

开发直播平台时&#xff0c;开发人员面临一个关键决策&#xff1a;是选择使用第三方美颜SDK&#xff0c;还是自家开发美颜算法&#xff1f;本文将深入探讨这两种方法的技术和资源方面的比较&#xff0c;帮助开发者更好地决定哪种途径最适合他们的应用。 一、第三方美颜SDK&am…