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

Vue3+ElementPlus+TS实现右上角消息数量实时更新

Vue3+ElementPlus+TS实现右上角消息数量实时更新

背景

在这里插入图片描述
项目需求,前端右上角铃铛图标 显示接收到的消息通知,并且显示消息数量以及实时更新。(一般是点击操作按钮后增加一条消息通知,图标上的数字也随之更新)
【原来的想法是使用location.reload();刷新页面,可以刷新消息数量,但是体验不好】

步骤一

index.ts

import { createStore } from "vuex";
const store = createStore({state() {return {msgCount: 0};},mutations: {SET_msgCount(state,msgCount) {state.msgCount = msgCount;}},actions: {/*getMessage()是调用后端获取消息的方法*function getMessage() {*    return axios.get("/user/getMessage")*}*/  getMessage({ commit }) {return new Promise((resolve, reject) => {getMessage().then((res) => {commit("SET_msgCount", res.length);resolve(res);}).catch((err) => reject(err));});}
});export default store;

步骤二

header.vue 前端页面 铃铛组件显示消息数量代码

<el-tooltip effect="dark" content="今日待办" placement="bottom"><el-badge :value="showMsgCount" :max="99" class="item"><el-popover placement="bottom" :width="400" trigger="click"><template #reference><el-icon color="#777575" class="no-inherit" :size="20" style="vertical-align: middle"><Bell /></el-icon></template></el-popover></el-badge></el-tooltip>
import { computed } from "vue";
import { useStore } from "vuex";
const store = useStore();
//使用computed可以是变量数值实时更新
const showMsgCount = computed(() => {return store.state.msgCount;
})

步骤三

在点击产生消息按钮,返回成功后调用下面的脚本,就可实时同步更新消息数量,从而不刷新页面而更新消息数量。

store.dispatch("getMessage");

至此。结束

http://www.lryc.cn/news/97467.html

相关文章:

  • 去除重复字母(力扣)贪心 + 队列 JAVA
  • Spring,SpringBoot,Spring MVC的区别是什么
  • 在CSDN学Golang云原生(Docker镜像)
  • Hive窗口函数大全
  • 达闼面试(部分)(未完全解析)
  • Makefile常用函数
  • mysql的一些知识整理
  • 修改密码和再次确认密码的js和element-ui的使用
  • 蓝桥杯专题-真题版含答案-【垒骰子_动态规划】【抽签】【平方怪圈】【凑算式】
  • kubernetes调试利器——kubectl debug工具
  • 浅谈es5如何保证并发请求的返回顺序
  • 深入浅出Pytorch函数——torch.squeeze
  • 【LeetCode】121.买卖股票的最佳时机
  • 【力扣】74. 搜索二维矩阵 <二分法>
  • Spring Task+Cron表达式
  • 你们公司的【前端项目】是如何做测试的?字节10年测试经验的我这样做的...
  • 华为战略方法论:BLM模型之关键任务与依赖关系
  • django的ORM模板的fake更新
  • 239.滑动窗口最大值
  • Redis基础原理
  • .NET 5 Web API 中JWT详细教程:保护你的Web应用
  • MyBatis-Plus自动填充
  • Dubbo服务提供者失效踢出原理解析
  • el-select下拉框处理分页数据,触底加载更多
  • 如何设计自动化测试脚本?一文5个步骤带你从0到1设计
  • PostgreSQL实战-数据库迁移部署
  • PHP数据库
  • Mybatis的基本操作--增删改查
  • Qt简单实现密码器控件
  • fpga_pwm呼吸灯(EP4CE6F17C8)