vue2-自定义全局toast提示插件

news/2025/1/22 21:57:37/文章来源:https://www.cnblogs.com/mingcore/p/18511925

编写toast.vue

在components文件夹下新增toast文件夹,并在toast文件夹中新增index.vue文件

`

<template><div id="toast"><span class="toast" @mouseleave="start" @mouseenter="stop" :style="{ top: styleTop, color: color }"><i :class="icon" :style="{ marginRight: '5px' }"></i><div> {{ message }}</div><i class="el-icon-close close hand-style" v-if="showCloseBtn" @click="close"></i></span></div>
</template><script>export default {name: 'Toast',data() {return {message: '',icon: "",type: "normal",color: "#49b1f5",styleTop: "-100px",timer: null,showCloseBtn: false};},methods: {close() {this.styleTop = "-100px"clearInterval(this.timer);},stop() {clearInterval(this.timer);},start() {this.timer = setTimeout(() => {this.styleTop = "-100px"}, 3000);},after(message) {clearInterval(this.timer);this.message = message;this.styleTop = "30px"this.timer = setTimeout(() => {this.styleTop = "-100px"}, 3000);},show(option) {switch (option.type) {case "error":this.color = "#F56C6C";this.icon = "iconfont icon-cuo";break;case "success":this.color = "#52C41A";this.icon = "iconfont icon-chenggong";break;case "warnning":this.color = "#F57C00";this.icon = "iconfont icon-jinggao1";break;case "info":this.color = "#909399";this.icon = "iconfont icon-jinggao1";break;default:this.icon = "iconfont icon-jinggao1";this.color = "#49b1f5"break;}this.showCloseBtn = option.showClose;this.after(option.message)},success(message) {this.color = "#52C41A";this.icon = "iconfont icon-chenggong";this.after(message)},error(message) {this.color = "#F56C6C";this.icon = "iconfont icon-cuo";this.after(message)},warnning(message) {this.color = "#F57C00";this.icon = "iconfont icon-jinggao1";this.show = true;this.after(message)},info(message) {this.color = "#909399";this.icon = "iconfont icon-jinggao1";this.show = true;this.after(message)},},};
</script><style lang="scss" scoped>.toast {position: fixed;left: 0;right: 0;bottom: 0;margin: 0 auto;padding: 10px;border-radius: 3px;z-index: 99999;width: fit-content;height: fit-content;transition: all 0.35s;background-color: #fff;display: flex;align-items: center;i {font-size: 1.2rem;}.close {margin-left: 30px;}}
</style>

`

注册toast插件并全局挂载

在main.js文件中添加如下内容

import Toast from '@/components/toast/index.vue';
const ToastPlugin = {install(Vue) {Vue.prototype.$toast = new Vue(Toast).$mount();document.body.appendChild(Vue.prototype.$toast.$el);},
};
Vue.use(ToastPlugin);

页面中调用

this.$toast.success("成功");
this.$toast.error("错误");
this.$toast.warnning("警告");
this.$toast.info("提示");

效果图

成功

image

错误

image

警告

image

提示

image

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

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

相关文章

Escalate_Linux靶机提权学习

靶机下载 https://www.vulnhub.com/entry/escalate_linux-1,323/ 用VMware打开 扫描端口 nmap -sS -sV -n -T4 -p- 192.168.93.134 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-10-04 09:26 CST Nmap scan report for 192.168.93.134 Host is up (0.00090s latency). …

使用Ubuntu系统管理包工具(apt)部署Zabbix企业级监控系统

1. 系统版本Ubuntu VERSION=22.04.4 LTS2. zabbix安装 2.1 zabbix官方 https://www.zabbix.com/cn/download?zabbix=7.0&os_distribution=ubuntu&os_version=22.04&components=server_frontend_agent&db=mysql&ws=apache 2.2 配置选择2.3 使用Ubuntu的管…

使用node的npm安装包遇到的问题

1最开始安装出现的问题是执行后卡顿出来以下网络相关的错误2搜索后执行命令切换到淘宝镜像后在执行,但是第一我仔细看报错信息,就又切换官网镜像了,又报了1的错误,然后又切回淘宝镜像分析错误信息。发现是安装node的目录用户没有写的权限 3.修改node安装目录文件权限后,在设…

3D在UI上的应用

一、传统管理系统登录页的局限性 在过去,传统的管理系统登录页通常采用平面设计,以简洁的布局和清晰的文字为主。虽然这种设计能够满足基本的功能需求,但也存在一些局限性。首先,平面设计缺乏立体感和深度感,容易给人单调、乏味的感觉。用户在面对这样的登录页时,往往缺乏…

【BUUCTF】Youngter-drive

Youngter-drive UPX脱壳 分析这是一道多线程题,先来分析这个main函数::hObject = CreateMutexW(0, 0, 0); : 创建一个互斥锁,使两个双线程能够使用共享资源hObject = CreateThread(0, 0, StartAddress, 0, 0, 0); Thread = CreateThread(0, 0, sub_41119F, 0, 0, 0); :创…

34. 过滤条件、多表查询、子查询

1. 过滤条件 1.1 过滤条件之having [1]概念 HAVING 子句用于对分组后的结果进行过滤。它通常与 GROUP BY 子句一起使用,在 SELECT 语句的聚合函数(如 SUM(), AVG(), COUNT(), MAX(), MIN() 等)之后应用条件。 HAVING 子句与 WHERE 子句类似,但 HAVING 适用于分组后的数据,…

Debian12 搭建LNMP环境,配置SSL证书,安装WordPress

一、安装并配置PHP SSH连接上VPS之后,我们先更新一下系统组件,使用下面的命令。 apt update -y && apt upgrade -y接着输入下面的命令安装PHP和相关组件 apt install php-fpm php-mysql php-gd php-cli php-curl php-mbstring php-zip php-opcache php-xml php-mysql…

实验2 类与对象

实验任务一 t.h1 // 类T: 声明2 class T {3 // 对象属性、方法4 public:5 T(int x = 0, int y = 0); // 普通构造函数6 T(const T &t); // 复制构造函数7 T(T &&t); // 移动构造函数8 ~T(); // 析构函数9 10 void adjust(…

qt标题,解决title的png图片scaled后显示有明显锯齿

优化qt下自定义TitleBar的左上角ICO的显示效果一、通用方法(使用Qlabel) // 添加窗口图标 iconLabel = new QLabel(this); QPixmap iconPixmap(":/ico.png"); // 替换成你的图标文件路径 iconLabel->setPixmap(iconPixmap.scaled(125, 35, Qt::KeepAspectRatio,…

周蕊-第二次作业

这个作业属于哪个课程 https://edu.cnblogs.com/campus/zjlg/rjjc这个作业的目标 设计一个命令行文本计数统计程序姓名-学号 周蕊-2022329301039我的码云地址: https://gitee.com/little-bear-huilai/the-second-homework.git 1. 项目简介及函数介绍 1.1. 项目简介本项目旨在…

Angular 19 要 来了⚡

前言 Angular 19 预计会在 11 月中旬发布,目前 (2024-10-27) 最新版本是 v19.0.0-next.11。 这次 v19 的改动可不小哦,新增了很多功能,甚至连 effect 都 breaking changes 了呢🙄 估计这回 Angular 团队又会一如既往的大吹特吹了...好期待哦🙄 虽说有新功能,但大家也不…

C语言和其他高级语言的最大区别是什么

C语言和其他高级语言的最大区别是:一、编程范式不同;二、语言复杂度不同;三、内存管理和指针操作不同;四、性能和可移植性不同。编程范式不同在于,C语言是一种过程式编程语言,侧重于问题解决的步骤和顺序,而其他高级语言则采用更高层次的编程范式。一、编程范式不同 C语…