Vue3 + Ts实现NPM插件 - 定制loading

目录

  • 你的 Loading
    • 🤖 安装
    • 🛹 简介苍白请 您移步文档:
    • ✈️ 使用方法
      • 🛠️ 配置 loading 类型
      • 🎲 定制 loading 色彩
    • 💡 注意事项

请添加图片描述 前期回顾

你的 Loading

开箱即可用的 loading,
说明:vue3-loading 是一个方便在 Vue 3 项目中使用的加载指示器组件的 npm 插件。它允许您轻松地在项目中添加加载动画,提升用户体验。

🤖 安装

npm install vue3-loading-plug

or

pnpm install vue3-loading-plug

🛹 简介苍白请 您移步文档:

  • 一键轻松看-尝试刷新页面将自动随机展示 loading
  • 一键快阅文档

✈️ 使用方法

  • 📒 说明:

内置两大类 loading 【可自行配置】

​ 一、 Loading 是 大 loading 可以用于刷新项目页面、路由跳转 。在路由中引入一次 即可全局生效,极简配置

​ 二、smallLoading 是小圆圈带加载进度 loading,一般用于接口请求展示。可以请求拦截器中开启,全局接口生效,极简配置

在你的主应用程序入口文件(例如 main.js)中,导入并使用 loading :

import Loading from "vue3-loading-plug";
app.use(Loading).mount("#app");
  • 🤖 高级用法

🛠️ 配置 loading 类型

你可以在安装插件时传入一个配置对象。

这个配置对象有一个 loadingType 属性,这个属性决定了使用哪种类型的 loading 组件。

如果你不传入 loadingType,那么将会随机选择一个 loading 组件。

app.use(Loading, {loadingType: 2  // 使用第二种类型的loading组件
});

🎲 定制 loading 色彩

  • 我们目前更新了 7 款 loading 组件,每一款都有自己的默认颜色,也可以如下自定制。

这个配置对象还有一个 customized 属性,这个属性的值决定了 loading 组件的颜色展示和遮罩的色彩呈现。(它们都是非必填)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

app.use(Loading, {loadingType: 1,customized: {top: "#54038a",left: "#05b631",right: "#eeaff7"},
});
app.use(Loading, {loadingType: 2,/*我定制了loading颜色为红色、遮罩层为绿色通常我们不需要定制mask、loading ,颜色都具备默认值*/customized: { color: "red", mask: "green" },
});
app.use(Loading, {loadingType: 3,customized: { mask: "rgba(126, 128, 117, 0.5)" },
});
app.use(Loading, {loadingType: 4,customized: { ball: "red", dot: "#fff", bar: "#000" },
});
app.use(Loading, {loadingType: 5,customized: { color: "#f4038a" },
});
app.use(Loading, {loadingType: 6,customized: { color: "red" },
});
app.use(Loading, {loadingType: 7,customized: { color: "#212121" },
});

如果是 ts 请在 global.d.ts 加入 类型

declare module "vue3-loading-plug";

router

const hideLoading = () => app.config.globalProperties.$Loading?.hideLoading;
const showLoading = () => app.config.globalProperties.$Loading?.showLoading();router.beforeEach((to, from, next) => {if (to.meta.loading) showLoading();next();
});router.afterEach((to) => {// 第二个参数为关闭loading的时间,无参即是根据上下文环境300ms关闭if (to.meta.loading) hideLoading()(400);
});

scrvies

const hideLoading = () => app.config.globalProperties.$smallLoading.hideLoading;
const showLoading = () =>app.config.globalProperties.$smallLoading.showLoading();
let onProgress = () => app.config.globalProperties.$smallLoading.onProgress;// 请求拦截器
service.interceptors.request.use((config) => {// 在发送请求之前做些什么?showLoading();config.onDownloadProgress = (progressEvent: any) => {let percentCompleted = Math.floor((progressEvent.loaded * 100) / progressEvent?.total);onProgress()(percentCompleted);};return config;},(error) => {// 对请求错误做些什么?// 第二个括号参数为空时,200ms后隐藏loading, (为了展示loading进度100%效果)hideLoading()();// hideLoading()(true); // 传入true时,不会延迟隐藏loadingreturn Promise.reject(error);}
);// 响应拦截器
service.interceptors.response.use((response) => {// 对响应数据做点什么? 这里只返回成功响应数据!hideLoading()();return response.data;},(error) => hideLoading()();
);

💡 注意事项

这个插件使用了动态导入(import(‘xx.vue’))和 Map 来提高性能,因此需要一个支持这些特性的环境。如果你的环境不支持这些特性,你可能需要使用 polyfill 来提供这些特性。

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

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

相关文章

基于多线程的Reactor模式的 回声服务器 EchoServer

记录下 一个线程专门用来接受accept获取客户端的fd 获取fd之后 从剩余的执行线程中 找到一个连接客户端数量最少的线程 然后将客户端的fd加入到这个线程中并通过EPOLL监听这个fd 线程之间通过eventfd来通信 将客户端的fd传到 对应的线程中 参考了MediaServer 引入…

【Vue面试题十七】、你知道vue中key的原理吗?说说你对它的理解

文章底部有个人公众号:热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享? 踩过的坑没必要让别人在再踩,自己复盘也能加深记忆。利己利人、所谓双赢。 面试官:你知道vue中key的原理吗…

关于网络协议的若干问题(二)

1、网络号、IP 地址、子网掩码和广播地址的先后关系是什么? 答:当在一个数据中心或者一个办公室规划一个网络的时候,首先是网络管理员规划网段,一般是根据将来要容纳的机器数量来规划,一旦定了,以后就不好…

Soul CEO张璐团队以用户安全为核心,探索社交平台安全治理新路径

“认同感”,是现代年轻人当下的核心社交需求之一,作为年轻人喜爱的新型开放式社交平台,Soul APP为年轻人们提供了一个自在表达、轻松互动的平台,为用户带来了志趣相投、精神共鸣的高质量网络连接。在Soul日活近千万的用户中,超过七成为Z世代年轻群体,如何能够为Z世代提供更安全…

ArcGIS/GeoScene脚本:基于粒子群优化的支持向量机回归模型

参数输入 1.样本数据必须包含需要回归的字段 2.回归字段是数值类型 3.影响因子是栅格数据,可添加多个 4.随机种子可以确保每次运行的训练集和测试集一致 5.训练集占比为0-1之间的小数 6.迭代次数:迭代次数越高精度越高,但是运行时间越长…

NodeJs内置模块child_process

内置模块child_process子进程 写在前面 子进程是Nodejs的核心Api,如果你会shell命令,它会有非常大的帮助,或者你喜欢编写前端工程化工具之类,它也有很大的用处,以及处理CPU密集型应用。 创建子进程 Nodejs创建子进…

ACL访问控制列表的解析和配置

ACL的解析 个人简介 ACL - Access Control List 访问控制列表 策略 ------行为 允许/拒绝 ACL --包含两种 标准ACL 扩展ACL 标准ACL:只能针对源IP地址做限制 针对路由条目的限制 -路由策略 思科编号:1-99之间或1300-1999 扩展ACL:针对…

python每日一练(5)

🌈write in front🌈 🧸大家好,我是Aileen🧸.希望你看完之后,能对你有所帮助,不足请指正!共同学习交流. 🆔本文由Aileen_0v0🧸 原创 CSDN首发🐒 如…

黑马点评-06缓存雪崩问题(大量key失效)及其解决方案

缓存雪崩问题(大量key失效) 解决方案 缓存雪崩是指在同一时段大量的缓存key同时失效或者Redis服务宕机,导致大量请求到达数据库给服务器带来巨大压力 当我们批量导入缓存数据的时候可以给不同的Key的TTL添加随机值,让其在不同时间段分批失效利用Redis集群提高服务的可用性 使…

点云模板匹配

点云模板匹配是一种在点云数据中寻找特定形状或模式的方法。它通常用于计算机视觉和三维图像处理中,可以应用于物体识别、姿态估计、场景分析等任务。点云模板匹配的基本思想是将一个称为模板的小点云形状与输入的大点云进行匹配,以找到最佳的对应关系。…

Python笔记;库,包,模块

在Python中库没有官方说法。 是其他地方沿用过来的。 姑且认为他是一个包或多个包的集合。 包里有子包和模块。 模块以.py格式存储。 下图是一个例子,对于Robot包: import math a math.sqrt(9) 等价于 from math import * a sqrt(9) from math im…

mysql面试题33:Blob和text有什么区别

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:Blob和text有什么区别 Blob和text是数据库中存储大文本数据的两种数据类型&#…

数学建模、统计建模、计量建模整体框架的理解以及建模的步骤

数学建模、统计建模、计量建模整体框架的理解以及建模的步骤 引言正文模型的设定模型的估计建模中可能遇到的四种数据类型 模型的检验模型的应用 最后 引言 这篇博客主要写给统计或者数学专业的小白,以供快速上手建模比赛;本人将在这里整合参加建模比赛…

4.03 用户中心-订单管理功能开发

用户中心-订单管理功能开发: (1)包含用户订单的查询根据订单并进行分页 (2)订单的确定和交易关闭订单删除 详细内容,查询地址:http://www.gxcode.top/code 页面下载地址:

安防监控视频汇聚平台EasyCVR视频广场搜索异常,报错“通道未开启”的问题排查与解决

安防视频监控系统EasyCVR视频汇聚平台可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等,能对外分发RTSP、RTMP、FLV、…

跨域问题-笔记

这里写目录标题 一、什么是跨域:二、跨域问题解决思路:1.从浏览器入手2.从域名入手3.从jsonp入手4.从代理入手 一、什么是跨域: 跨域指的是不同服务器之间不能相互访问各自的资源或者数据,这出于一个策略——“同源策略”&#x…

“.NET视频总结:认识框架的结构和组件,掌握开发工具的奥妙“一

目录 第一单元:二十一世纪程序执行 背景: 总结: 第二单元:对象导向与类别设计 背景: 总结: 第三单元:使用类别与基底类别库 总结: 第四单元:Windows开发程序 背景: 总结: 第五单元:防护式程序设计 背景: 总结: 第六…

阿里云华中1(武汉)本地地域公网带宽价格表

阿里云华中1(武汉)地域上线,本地地域只有一个可用区A,高可用需要多可用区部署的应用,不建议选择本地地域,可以选择上海或杭州地域,阿里云服务器华中1(武汉)地域公网带宽价…

Lesson10---list

lesson18: 一、 1.list是一个XX链表(0:19:26) 2.链表里面,单独存储数据最适合的结构是XX(0:19:53) 3.list的任意位置插入删除的时间复杂度是O(N)吗?&…

B树、B+树详解

B树 前言   首先,为什么要总结B树、B树的知识呢?最近在学习数据库索引调优相关知识,数据库系统普遍采用B-/Tree作为索引结构(例如mysql的InnoDB引擎使用的B树),理解不透彻B树,则无法理解数据…